# இந்த தொகுப்பின் நோக்கம் விக்கிமூலத்தில் பைத்தான் நிரல்களை தமிழில் எழுத, உருவாக்கப்பட்ட, பயனர் வரைவு செயல்முறைகள் (user defined functions) ஆகும்.
import pywikibot,re
## ஒரு '#' குறியீடு, நிரல் இயக்கத்தினை நிறுத்தி வைக்கிறது.
## இரு '#' குறியீடுகள், அவற்றின் கீழுள்ள நிரல் எழுதியதற்கான விளக்கமாகும்.
## ------------------------ தொடக்கம் : பொதுவான நிரலாக்கம் ----------------------
# இது print என்ற பைத்தான் நிரலாக்கச்சொல்லினைத் தமிழில் 'விளைவிடு' என மாற்றுகிறது.
def விளைவிடு ():
விளைவு = print
return விளைவு
எ-கா :
இயல்பாக நாம் print() என எழுதுவோம். அதனைத்தமிழில் எழுத, கீழ்கண்ட பயனர் வரைவு செயல்முறை பயனாகிறது.
விளைவிடு = பைவிக்கிமூலம்0.விளைவிடு() என்று நாம் உருவாக்கிக் கொண்டால், நமது நிரல் முழுவதும்,
print() என்பதற்கு மாற்றாகத் தமிழில்,
விளைவிடு() என எழுதலாம். அல்லது எளிமையாக,
விளைவிடு = print
என மாறிலியாகவும் (variable) அமைத்துக் கொள்ளலாம்.
def குறியிடுஅம்புவலது(எண்ணிக்கை=10):
அம்புவலது = '>' * எண்ணிக்கை
அம்புவலது = ' {} '.format(அம்புவலது)
return அம்புவலது
# வலஅம்புக்குறியடு = பைவி.குறியிடுஅம்புவலது(எண்ணிக்கை=4)
def குறியிடுஅம்புஇடது(எண்ணிக்கை=10):
அம்புஇடது = '<' * எண்ணிக்கை
அம்புஇடது = ' {} '.format(அம்புஇடது)
return அம்புஇடது
# இடஅம்புக்குறியிடு = பைவி.குறியிடுஅம்புஇடது(எண்ணிக்கை=4)
def கோடிடு(எண்ணிக்கை=16):
கோடு = '-' * எண்ணிக்கை
கோடு = ' {} '.format(கோடு)
return கோடு
# கோடிடு = பைவி.கோடிடு(எண்ணிக்கை=40)
# இது ஒரு பக்கத்திற்குரிய நிரலாக்கமுடிவினைக் காட்டும் குறியீடு
def முடிவிடு():
குறி = '\n >>>> முடிந்தது <<<< \n'
return குறி
#விளைவிடு(முடிவிடு())
def பக்கப்பெயரமை(அட்டவணை):
அட்டவணை = '{}'.format(அட்டவணை).strip()
பக்கப்பெயர் = அட்டவணை.replace('அட்டவணை','பக்கம்').replace('index','பக்கம்').replace('Index','பக்கம்') + '/'
return பக்கப்பெயர்
def பக்கப்பெயரெழுது(அட்டவணை,தொடக்கயெண்,முடிவெண்,எண்வகை): #எண்வகை = '1'/'2'/'' 1 என்றால் ஒற்றையெண்;2 என்றால் இரட்டையெண்;மேற்கோள்குறிகளுக்குள் எதுவும் இல்லையென்றால், வரிசையாக எண்கள் தோன்றும்.
பக்கப்பட்டி = []
அட்டவணைசுத்தம் = அட்டவணை.strip()
for வரிசையெண் in range(தொடக்கயெண், முடிவெண்+1):
பக்கப்பெயர்='பக்கம்:{}.pdf/{}'.format(அட்டவணைசுத்தம்,வரிசையெண்)
if எண்வகை=='1':
if வரிசையெண் % 2 != 0:
பக்கப்பட்டி.append(பக்கப்பெயர்)
elif எண்வகை=='2':
if வரிசையெண் %2 == 0:
பக்கப்பட்டி.append(பக்கப்பெயர்)
else:
பக்கப்பட்டி.append(பக்கப்பெயர்)
return பக்கப்பட்டி
def உரலியிடு(பக்கம்):
இணையதளம் = pywikibot.Site('ta', 'wikisource')
உரலி = pywikibot.Page(இணையதளம், பக்கம்)
return உரலி
## ------------------------ தொடக்கம் : விக்கிமூல பக்கமொன்றின் பக்கத்தரவினை முழுமையாக எடுத்தல் ----------------------
def எடுபக்கத்தரவு(பக்கம்):
இணையதளம் = pywikibot.Site('ta', 'wikisource')
உரலி = pywikibot.Page(இணையதளம், பக்கம்) #எ-கா [[ta:பக்கம்:இலக்கியம் சிந்தும் விளையாட்டு இன்பம்.pdf/17]]
பக்கத்தரவு = உரலி.text
return பக்கத்தரவு
## ------------------------ முடிவு : விக்கிமூல பக்கமொன்றின் பக்கத்தரவினை முழுமையாக எடுத்தல் ----------------------
## ------------------------ தொடக்கம் : விக்கிமூல பக்கமொன்றின் மேலடித்தரவினை மட்டும் எடுத்தல் ----------------------
def எடுமேலடி(பக்கத்தரவு):
தேடுகுறிமுறை = re.compile("\<noinclude\>.*?\<\/noinclude>", re.DOTALL)
குறிச்சொற்கள் = re.findall(தேடுகுறிமுறை,பக்கத்தரவு)
மேலடி = குறிச்சொற்கள்[0]
return மேலடி
## ------------------------ முடிவு : விக்கிமூல பக்கமொன்றின் மேலடித்தரவினை மட்டும் எடுத்தல் ----------------------
## ------------------------ தொடக்கம் : விக்கிமூல பக்கமொன்றின் நடுத்தரவினை மட்டும் எடுத்தல் ----------------------
def எடுநடுத்தரவு(பக்கத்தரவு):
தேடுகுறிமுறை = re.compile("\<noinclude\>.*?\<\/noinclude>", re.DOTALL)
நடுத்தரவு = re.sub(தேடுகுறிமுறை, '', பக்கத்தரவு).strip() + '\n'
return நடுத்தரவு
## ------------------------ முடிவு : விக்கிமூல பக்கமொன்றின் நடுத்தரவினை மட்டும் எடுத்தல் ----------------------
## ------------------------ தொடக்கம் : விக்கிமூல பக்கமொன்றின் கீழடித்தரவினை மட்டும் எடுத்தல் ----------------------
def எடுகீழடி(பக்கத்தரவு):
தேடுகுறிமுறை = re.compile("\<noinclude\>.*?\<\/noinclude>", re.DOTALL)
குறிச்சொற்கள் = re.findall(தேடுகுறிமுறை,பக்கத்தரவு)
கீழடி = குறிச்சொற்கள்[1] + '\n'
return கீழடி
## ------------------------ முடிவு : விக்கிமூல பக்கமொன்றின் கீழடித்தரவினை மட்டும் எடுத்தல் ----------------------
## ------------------------ தொடக்கம் : விக்கிமூல பக்கமொன்றின் மேலடியில்லாத்தரவினை மட்டும் எடுத்தல் ----------------------
def எடுநடுத்தரவுகீழடி(பக்கத்தரவு):
தேடுகுறிமுறை = re.compile("\<noinclude\>.*?\<\/noinclude>", re.DOTALL)
குறிச்சொற்கள் = re.findall(தேடுகுறிமுறை,பக்கத்தரவு)
மேலடி = குறிச்சொற்கள்[0]
நடுத்தரவுகீழடி = பக்கத்தரவு.replace(மேலடி,'')
return நடுத்தரவுகீழடி
## ------------------------ முடிவு : விக்கிமூல பக்கமொன்றின் மேலடியில்லாத்தரவினை மட்டும் எடுத்தல் ----------------------
## ------------------------ தொடக்கம் : விக்கிமூல பக்கமொன்றின் கீழடியில்லாத்தரவினை மட்டும் எடுத்தல் ----------------------
def எடுமேலடிநடுத்தரவு(பக்கத்தரவு):
தேடுகுறிமுறை = re.compile("\<noinclude\>.*?\<\/noinclude>", re.DOTALL)
குறிச்சொற்கள் = re.findall(தேடுகுறிமுறை,பக்கத்தரவு)
கீழடி = குறிச்சொற்கள்[1]
மேலடிநடுத்தரவு = பக்கத்தரவு.replace(கீழடி,'')
return மேலடிநடுத்தரவு
## ------------------------ முடிவு : விக்கிமூல பக்கமொன்றின் கீழடியில்லாத்தரவினை மட்டும் எடுத்தல் ----------------------
#அலைப்பேசியின் திரைகளில் நடப்பதை உணர, இங்கு ஆங்கிலச்சொற்கள் பயன்படுத்தப்பட்டுள்ளன. ஏனெனில், தமிழை அலைப்பேசி முனையத்தில் படிக்கும் நுட்பத்தை பலர் அறிய முற்படுவதில்லை.
def தொடக்கமுடிவெண்நொடி(தொடக்கயெண்,முடிவெண்,காத்திருப்புநொடிகள்):
தொடக்கமுடிவெண்நொடி = '\n start page ..... {} \n end page ..... {} \n waiting .... +- {} seconds \n'.format(தொடக்கயெண்,முடிவெண்,காத்திருப்புநொடிகள்)
return தொடக்கமுடிவெண்நொடி