def getBH(page, startN = 1): """get the paragraphs of BH from page. The paragraphs will be seperated by a header. Use startN for pages that don't start on siman א""" import gim h1t = '==סימן {}==' h2t = '===סעיף {0}===\n<קטע התחלה={0}/>' close = '<קטע סוף={}/>' currentS = startN - 1 res = [] l = getBHlist(page) i = 0 for s in l: if s.get('style') == 'font-size:32px; ': i = i + 1 restart = check(s) if restart: i = 1 currentS += 1 res.append(h1t.format(gim.toGStr(currentS))) else: text = formatBH(s) res.append(h2t.format(gim.toGStr(i))) res.append(text) res.append(close.format(gim.toGStr(i))) return '\n'.join(res)
def getBH(page, startN=1): """get the paragraphs of BH from page. The paragraphs will be seperated by a header. Use startN for pages that don't start on siman א""" import gim h1t = '==סימן {}==' h2t = '===סעיף {0}===\n<קטע התחלה={0}/>' close = '<קטע סוף={}/>' currentS = startN - 1 res = [] l = getBHlist(page) i = 0 for s in l: if s.get('style') == 'font-size:32px; ': i = i + 1 restart = check(s) if restart: i = 1 currentS += 1 res.append(h1t.format(gim.toGStr(currentS))) else: text = formatBH(s) res.append(h2t.format(gim.toGStr(i))) res.append(text) res.append(close.format(gim.toGStr(i))) return '\n'.join(res)
def genAll(nameT, iterator): site = pywikibot.getSite() for i in iterator: page = pywikibot.Page(site, nameT + gim.toGStr(i)) if page.exists(): n = getN(page.text) genPages(nameT, i, n) genLinks(nameT + gim.toGStr(i))
def genPages(siman, m, n): site = pywikibot.getSite('he', 'wikisource') siman = siman + ' ' + gim.toGStr(m) for i in range(n): pageName = siman + ' ' + gim.toGStr(i + 1) page = pywikibot.Page(site, pageName) if not page.exists(): genPage(page, m, i + 1, i + 1 == n)
def genPage(page, siman, seif, last = False): siman = gim.toGStr(siman) Cseif = gim.toGStr(seif) Pseif = gim.toGStr(seif - 1) if seif > 1 else '' Nseif = gim.toGStr(seif + 1) if not last else '' book = ' '.join(page.title().split(' ')[2:4]) txt = template.format(book,siman, Cseif, Pseif, Nseif) page.text = txt page.save(comment = "הוספת סעיף בשולחן ערוך, בוצע על ידי בוט", async=True)
def genPage(page, siman, seif, last=False): siman = gim.toGStr(siman) Cseif = gim.toGStr(seif) Pseif = gim.toGStr(seif - 1) if seif > 1 else '' Nseif = gim.toGStr(seif + 1) if not last else '' book = ' '.join(page.title().split(' ')[2:4]) txt = template.format(book, siman, Cseif, Pseif, Nseif) page.text = txt page.save(comment="הוספת סעיף בשולחן ערוך, בוצע על ידי בוט", async=True)
def sub(nameTmp, hTmp, i, l, override=False): for b in l: p = pywikibot.Page(site, nameTmp.format(gim.toGStr(i))) s = hTmp.format(gim.toGStr(i - 1), gim.toGStr(i), gim.toGStr(i + 1)) s += b if override or not p.exists(): p.text = s p.save() i += 1
def sub(nameTmp, hTmp, i, l, override=False): for b in l: p = pywikibot.Page(site, nameTmp.format(gim.toGStr(i))) s = hTmp.format(gim.toGStr(i-1), gim.toGStr(i), gim.toGStr(i+1)) s += b if override or not p.exists(): p.text = s p.save() i += 1
def test_edge_points(self): num_result = [ (99 , 'צט'), (100 , 'ק'), (999 , 'תתקצט'), (1000 , 'א\''), (5776 , 'ה\'תשעו'), ] for n,r in num_result: with self.subTest(num=n, res=r): self.assertEqual(gim.toGStr(n), r)
def __format__(self, format_code): """ Options: default - e h - return date in hebrew. e - return date in english """ format_string = '{day} {month_name} {year}' if format_code == '': format_code = 'e' if format_code == 'e': return format_string.format(day=self.day, month_name=self.english_month_name, year=self.year) elif format_code == 'h': return format_string.format(day=gim.toGStr(self.day), month_name=self.hebrew_month_name, year=gim.toGStr(self.year))
def test_under_10(self): results = ('', 'א', 'ב', 'ג', 'ד', 'ה', 'ו', 'ז', 'ח', 'ט', 'י') for i in range(1,11): with self.subTest(num=i): self.assertEqual(gim.toGStr(i), results[i])