@yyybsh
תעשה פריסה לסקריפט ותיתן למשתמש ללחוץ על הלינק של הפריסה.
בגוגל סקריפט תכתוב פונקציה כזו:
function doGet(e) {
main()
}
@yyybsh
תעשה פריסה לסקריפט ותיתן למשתמש ללחוץ על הלינק של הפריסה.
בגוגל סקריפט תכתוב פונקציה כזו:
function doGet(e) {
main()
}
@dovid
אשמח.
תודה לכל העונים.
בפועל השתמשתי בספריית mwparserfromhell
import re
import mwparserfromhell
def filter_templates(string):
string_2 = []
parsed = mwparserfromhell.parse(string)
templates = parsed.filter_templates(parsed.RECURSE_OTHERS)
if templates:
for template in templates:
if template.params:
template_str = "".join([str(param) for param in template.params])
else:
template_str = ""
string_2.append([str(template),template.name, template_str])
return string_2
else:
return False
def clean_comment(comment):
while True:
replace = filter_templates(comment)
if not replace:
break
for i in replace:
rp = i[2]
comment = comment.replace(i[0], rp)
return comment
def remove_templates(wikitext):
dict_comments = {}
sup = 0
while True:
replace = filter_templates(wikitext)
if not replace:
break
for i in replace:
if i[1].strip() == "הערה":
sup += 1
dict_comments[sup] = clean_comment(i[2])
rp = f'<sup style="color: gray;">{sup}</sup>'
elif i[1].strip() == "ש":
rp = "\n"
else:
rp = i[2]
wikitext = wikitext.replace(i[0], rp)
counter = 0
sorted_dict = {}
for num in re.findall(r'<sup style="color: gray;">(\d+)</sup>', wikitext):
counter += 1
wikitext = wikitext.replace(rf'<sup style="color: gray;">{num}</sup>', rf'<sup style="color: gray;">{counter}</sup>')
sorted_dict[counter] = dict_comments[int(num)]
return wikitext, sorted_dict
יש לי טקסט בפורמט מדיה ויקי, ואני צריך לשמור טקסט שנמצא בתוך תבנית בשם "הערה" במילון ולהכניס בטקסט עצמו את המפתח, הבעיה מתחילה כשיש בתוך התבנית פרמטר שהוא תבנית נוספת, לדוג':
{{הערה|{{אישי ישראל|רבי אברהם יצחק משכיל לאיתן}}.}}
איך אני יכול לתפוס את התבנית כולה?
יצויין שיכולות להיות רמות קינון עמוקות יותר.
@NH-LOCAL
למה?, סקריפט מאוד פשוט
from bs4 import BeautifulSoup
def get_toc(file_path, level = 2):
with open(file_path, "r", encoding="utf-8") as f:
content = f.read()
soup = BeautifulSoup(content, "html.parser")
list_all = list(tag.string for tag in soup.find_all(f"h{level}"))
return list_all
אגב אתה יכול להשתמש גם בapi של מדיה ויקי, משהו בסגנון הזה:
def get_list_by_category(category: str)->list:
"""מחזיר רשימת דפים שנמצאים בקטגוריה מסוימת."""
i = 0
pages = []
cmcontinue = ''
while True:
i += 1
params = {
'action': 'query',
'list': 'categorymembers',
'cmtitle': category,
'cmtype': 'page',
'cmlimit': 'max',
'format': 'json',
'cmcontinue': cmcontinue
}
response = requests.get(BASE_URL, params=params)
data = response.json()
if 'query' in data and 'categorymembers' in data['query']:
pages.extend([page["title"] for page in data['query']['categorymembers']])
else:
print("Error fetching pages:", data)
break
if 'continue' not in data:
break
cmcontinue = data['continue']['cmcontinue']
print(f"Fetching pages: batch {i}")
return pages
@NH-LOCAL
https://github.com/lisrael1/bavli_pages
זה לש"ס, לשאר הספרים אם יש לך את אוצריא אתה יכול פשוט לשאוב משם את הנתונים לפי רמות הכותרות.
יש לי את קובץ האקסס הבא:
תריג מצוות.accdb
יצרתי כבר את כל הקשרים, השאלה היא איך ניתן לעשות שאילתה ש -
א', תחזיר האם קיים או לא קיים בעמודה מסויימת
ב', תחזיר גם אם הטקסט המקושר לא קיים בחלק מהטבלאות המקושרות
בעצם כמו שיש באתר הזה:
https://thetaryag.com/
(ייצאתי את מסד הנתונים שלו לאקסס ממאגר הגיטהאב הזה:
https://github.com/repwolfe/613/tree/master)
בתודה מראש.
@A0533057932
ניסיתי, לא עובד.
"python.defaultInterpreterPath": "${execPath}/../../Portable Python-3.10.5 x64/App/Python/python.exe"
עבד מצויין, עכשיו רק נשאר למצוא איך להגדיר שכל פתיחת קובץ תהיה באופן יחסי, כך שהקבצים הפתוחים יפתחו גם אחרי שינוי אות כונן
אני עובד עם vscode וpython ניידים על דיסק אונקי, מה שיוצר בעיה ברגע שאות הכונן משתנית שאני צריך להגדיר את הנתיב לpython interpreter ולפתוח את הקבצים מחדש, השאלה היא האם ניתן להגדיר נתיב יחסי לתיקיית השורש של הכונו הנוכחי שממנו אני מריץ את הvs code.
(ראיתי שניתן להגדיר נתיב יחסי לפרוייקט, אבל צריך להגדיר את זה לכל פרוייקט מחדש, מה גם שאני עדיין אצטרך לפתוח את הפרוייקט מחדש בכל שינוי של אות כונן)
בתודה מראש.
כשעוברים בין דפים מתורגמים בתרגום גוגל בכרום ב github ו chat gpt מקבלים שגיאה, יש למישהו אולי רעיון איך לסדר את זה?
או לחילופין אולי סקריפט שירענן את העמוד בכל מעבר עמוד.
בתודה מראש.
@A-I-V כתב בהסרת Ubuntu והתקנת Kubuntu לצד Windows 11:
. מה הדרך הכי טובה להסיר את האובונטו? סתם למחוק את המחיצות מניסיוני ישבש את המחשב - כי הGrub לא יטען, אז גם הWindows לא יעלה.
תיכנס דרך הboot menu לווינ' או שתשנה חגמרי את סדר האתחול דרך הביוס
@A-I-V כתב בהסרת Ubuntu והתקנת Kubuntu לצד Windows 11:
ב. איך לעשות דואל בוט? אובונטו משתמש בUbuqity, שיש בו פונקציה מובנית לדואל בוט. מהרפרוף שלי היה נראה שקובונטו משתמש במשהו אחר, שצריך לחלק בו את המחיצות בצורה ידנית, ובזה אין לי מושג.
גם לקובונטו יש אפשרות מובנית לדואל בוט
@521 ניסיתי, לא עבד, מה שאני צריך זה לשלוח קובץ למכשיר בלוטוס על ידי גרירה שלו מעל קובץ bat
@yossiz כתב בCMD פרמטר גרירה ושחרור, ל exe שלא מקבל את הפרמטר הרגיל, של פתח באמצעות:
@חגי אמר בCMD פרמטר גרירה ושחרור, ל exe שלא מקבל את הפרמטר הרגיל, של פתח באמצעות:
אני לא בא לתפוס את מקומו של @yossiz
אני לא יודע פתרון לבעיה מה שאני יכול להוסיף פה לדיון הוא הסבר למה יש כזה בעיה.
משתמשי ווינדוס מורגלים שגרירה של קובץ על גבי תוכנה מריצה את התוכנה עם שם הקובץ כפרמטר, זו באמת התנהגות ברירת המחדל, ולכן הקושיא למה פה זה עובד בגרירה ולא בשורת הפקודה.
התשובה היא שאפשר להגדיר ברגיסטרי פעולה מותאמת אישית עבור קובץ EXE במקום התנהגות ברירת המחדל וזה מה שעשו עבור תוכנה זו.
עיין רג'יסטרי ערך:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\fsquirt.exe
ועיין כאן בתיעוד של MS:
DropTarget: Is a class identifier (CLSID). The DropTarget entry contains the CLSID of an object (usually a local server rather than an in-process server) that implements IDropTarget. By default, when the drop target is an executable file, and no DropTarget value is provided, the Shell converts the list of dropped files into a command-line parameter and passes it to ShellExecuteEx through lpParameters.
יש אפשרות אולי להוסיף לקובץ bat שישלח את הקובץ לכתובת שמוגדרת ברג'יסטורי, או לחילופין להוסיף ערך ברג'יסטורי בשביל סקריפט?
נפק"מ למה שכתבתי כאן
בתודה מראש
אני צריך לשנות את הקובץ עצמו, ולא רק את ההגדרות במציג [רלוונטי בעיקר לקינדל, אני משנה גודל של קובץ בעזרת k2pdfopt הבעיה היא שקובץ הפלט כיוון הגלילה בו היא משמאל לימין]
עדיף סקריפט פייתון או קובץ bat
בתודה מראש
עד עכשיו הייתי משתמש ב svn, אבל משום מה בזמן האחרון הוא מחזיר את השגיאה הבאה:
svn: E170013: Unable to connect to a repository at URL 'https://github.com/Sefaria/Sefaria-Export/trunk/schemas'
svn: E160013: '/Sefaria/Sefaria-Export/trunk/schemas' path not found
(בדקתי גם אצל אחרים והוא מחזיר את אותה שגיאה)
השאלה היא אם יש דרך אחרת
(לא דרך https://download-directory.github.io/ שגם הוא לא משהו)
בתודה מראש
@אוריי
תירגמתי בעבר תוסף לוורד שעושה בדיוק את הפעולה הזו
https://mitmachim.top/post/661445
ושילבתי אותו בתוך התוסף שלי לוורד
אולי ניתן יהיה להתאים את קוד המאקרו שבתוסף ההוא ליוז-קייס הספציפי שלך
יש אפשרות להתאמה של הכלי של תרגום אוטומטי בכרום לפי אתרים, כלומר שבאתרים מסויימים זה יתרגם או לא יתרגם אוטומטית?
@pcinfogmach כתב בתוסף חדש - תורת אמת בוורד:
אם התוסף לא עובד יש להגדיר באפשרויות וורד "מטב עבור תאימות"
הגדרת את זה?
@dovid הבעיה היא לפי איזה פרמטרים למיין את זה [לא כל הפקודות מכילות תיאור מלא]
מה שעשיתי כדי ליצור את התבנית זה שהעתקתי מהקובץ אקסל בשורות שמופיע עליהם Not in the Ribbon את עמודות a ו b לקובץ טקסט, ועל זה הרצת את הסקריפט,
להלן קובץ הטקסט:
a.txt
ועליו הרצתי את הסקריפט הזה:
output1 = open('b.txt', 'w')
output2 = open('c.txt', 'w')
for line in open('a.txt').read().splitlines():
line = line.split()
if len(line) == 2:
print(f'<{line[1]} idMso="{line[0]}"/>',
file=output1)
else:
print(line, file=output2)