#-*- coding: utf-8 -*-
import csv, time, subprocess, re, pywikibot
##மறவாமல், மேலுள்ள view என்பதுள் 'Toggle Line Numbers'அழுத்துக. இடப்பக்கத்தின் வரிசையெண் தோன்றும்.
##கீழுள்ளவற்றை நூலுக்கு நூல், மாற்ற வேண்டும்
பக்கத்தொடக்கம் = 351
பக்கமுடிவு = 354
அட்டவணைப்பெயர் = ' அட்டவணை:வேண்டும் விடுதலை.pdf '
மின்னூலின்ஒற்றைப்படையில்இடவேண்டியவுரை = ' பாவலரேறு பெருஞ்சித்திரனார் '
மின்னூலின்இரட்டைப்படையில்இடவேண்டியவுரை = ' வேண்டும் விடுதலை '
##உரலியின் பக்க எண்ணுக்கும், அச்சுபக்கத்தின் எண்ணுக்கும் உள்ள வேறுபாடு
கழியும்எண் = 2
## மேலடி தரவு நீக்கவேண்டாமெனில் கீழ்கண்ட இரு வரிகளில் மாற்றவும்.
## 91, 126 என்ற வரியின் கடைசியில் .replace(தொபநடுப்பகுதிசில,'') என்று இருக்கும். அங்குள்ள புள்ளிக்கு முன்#குறியீடு இட்டு சேமிக்கவும்.
##கீழுள்ளவற்றை மாற்ற வேண்டாம். எது மாறினாலும், நிரல் இயங்காது
காத்திருப்புநொடிகள் = 60
அடிக்கோடுபுள்ளி = '.........................................'
அட்டவணைப்பெயர்1 = அட்டவணைப்பெயர்.strip()
கோப்புநீட்சி1 = '.pdf'
கோப்புநீட்சி11 = '.pdf/'
கோப்புநீட்சி2 = '.djvu'
கோப்புநீட்சி22 = '.djvu/'
நூலமைப்பு1 = 'அட்டவணை'
நூலமைப்பு2 = 'Index'
நூலமைப்பு3 = 'index'
பக்கம் = 'பக்கம்'
பக்கப்பெயர்சில = அட்டவணைப்பெயர்1.replace(நூலமைப்பு1,பக்கம்).replace(நூலமைப்பு2,பக்கம்).replace(நூலமைப்பு3,பக்கம்).replace(கோப்புநீட்சி1,கோப்புநீட்சி11).replace(கோப்புநீட்சி2,கோப்புநீட்சி22)
## வரிசையாக அட்டவணையின் பக்கப் பெயர்களுக்கு எண் இடுகிறேன்
எண்வகை = 1
for தகவல் in range (பக்கத்தொடக்கம்,பக்கமுடிவு+1):
if தகவல் % எண்வகை == 0:
பக்கஎண் = str(தகவல்)
பக்கப்பெயர்முழு = பக்கப்பெயர்சில + பக்கஎண்.strip()
print (அடிக்கோடுபுள்ளி)
print( பக்கப்பெயர்முழு )
print (அடிக்கோடுபுள்ளி)
# with open ('000-தற்போதுவேண்டியபக்கப்பெயர்கள்.csv', 'a') as உருவாகும்கோப்பு:
# கோப்பெழுதி = உருவாகும்கோப்பு.write((பக்கப்பெயர்முழு)+'\n')
இணையதளம் = pywikibot.Site('ta', 'wikisource')
தொடக்கப்பக்கம் = pywikibot.Page(இணையதளம்,பக்கப்பெயர்முழு)
தொபமுழுத்தரவு = தொடக்கப்பக்கம்.text
# print("----------------------- தொடக்கப்பக்க முழுத்தரவு தொடக்கம் --------------------------")
# print(தொபமுழுத்தரவு)
# print(type (தொபமுழுத்தரவு))
# print("------------------------ தொடக்கப்பக்க முழுத்தரவு முடிந்தது -----------------------------")
தேடுகுறிமுறை = re.compile("\.*?\<\/noinclude>", re.DOTALL)
தொபகுறிச்சொற்கள் = re.findall(தேடுகுறிமுறை, தொபமுழுத்தரவு)
தொபமேலடித்தரவு = தொபகுறிச்சொற்கள்[0]
தொபகீழடித்தரவு = தொபகுறிச்சொற்கள்[1]
தொபநடுப்பகுதி = re.sub(தேடுகுறிமுறை, '', தொபமுழுத்தரவு).strip()
# print(தொபநடுப்பகுதி)
## நடுப்பகுதியின் முதற்சிலவரிகளைக் காட்டுதல்
## https://stackoverflow.com/questions/17912307/u-ufeff-in-python-string
மேலடித்தரவுநடுபிரிப்பு = தொபநடுப்பகுதி.split('\n')
தொபநடுப்பகுதிசில = மேலடித்தரவுநடுபிரிப்பு [0].strip()
# print ( தொபநடுப்பகுதிசில )
if not int( பக்கஎண் ) % 2 == 0 :
# print('விக்கிபக்கப்பெயர் ஒற்றையெண் ஆகும் = ' + பக்கஎண் )
நூலின்அச்செண் = int( பக்கஎண் )-கழியும்எண்
# print(type ( நூலின்அச்செண் ))
# print( நூலின்அச்செண் )
நூலின்அச்செண்ணுரை = str(நூலின்அச்செண்)
# print(type ( நூலின்அச்செண்ணுரை ))
# print('நூலின் அச்செண், ஒற்றையெண் ஆகும் = ' + நூலின்அச்செண்ணுரை )
# print (அடிக்கோடுபுள்ளி)
print('முந்தைய மேலடி;- \n' + தொபமேலடித்தரவு + '\n')
if '{{rh|' in தொபமேலடித்தரவு or '' in தொபமேலடித்தரவு :
print("'{{rh|'வார்ப்புரு இடப்பட்டுள்ளது.\n")
else:
# print("'{{rh|'வார்ப்புரு இல்லை.\n")
தொபமேலடித்தரவுத்தூய்மை1 = தொபமேலடித்தரவு.replace('','')
# print( தொபமேலடித்தரவுத்தூய்மை1 )
தொபமேலடித்தரவுத்தூய்மை2 = தொபமேலடித்தரவுத்தூய்மை1.split('/>') [0]
# print( தொபமேலடித்தரவுத்தூய்மை2 )
தொபமேலடித்தரவுத்தூய்மை3 = தொபமேலடித்தரவுத்தூய்மை2 + '/>'
# print( தொபமேலடித்தரவுத்தூய்மை3 )
தொபமேலடித்தரவுபுதிது = தொபமேலடித்தரவுத்தூய்மை3 + '{{rh|' + மின்னூலின்ஒற்றைப்படையில்இடவேண்டியவுரை + '||' + நூலின்அச்செண்ணுரை + '}} '
print ('புதிய மேலடி;-\n ' + தொபமேலடித்தரவுபுதிது )
print (அடிக்கோடுபுள்ளி)
மாற்றியமுழுத்தரவு = தொபமுழுத்தரவு.replace( தொபமேலடித்தரவு , தொபமேலடித்தரவுபுதிது ).replace(தொபநடுப்பகுதிசில,'')
#
தொடக்கப்பக்கம்.text = மாற்றியமுழுத்தரவு
# print (மாற்றியமுழுத்தரவு)
தொபமேலடித்தரவுபுதிதுஅண்மை1 = தொபமேலடித்தரவுபுதிது.split('}}')
தொபமேலடித்தரவுபுதிதுஅண்மை2 = தொபமேலடித்தரவுபுதிது.split('/>')
தொபமேலடித்தரவுபுதிதுஅண்மை3 = தொபமேலடித்தரவுபுதிதுஅண்மை2 [-1].replace('','')
print ( தொபமேலடித்தரவுபுதிதுஅண்மை3 )
print ( தொபநடுப்பகுதிசில )
தொடக்கப்பக்கம்.save('+' + தொபமேலடித்தரவுபுதிதுஅண்மை3 )#தொபமேலடித்தரவுத்துப்புரவு
if int( பக்கஎண் ) % 2 == 0 :
# print('விக்கிபக்கப்பெயர் இரட்டையெண் ஆகும் = ' + பக்கஎண் )
நூலின்அச்செண் = int( பக்கஎண் )-கழியும்எண்
# print(type ( நூலின்அச்செண் ))
# print( நூலின்அச்செண் )
நூலின்அச்செண்ணுரை = str(நூலின்அச்செண்)
# print(type ( நூலின்அச்செண்ணுரை ))
# print('நூலின் அச்செண், இரட்டையெண் ஆகும் = ' + நூலின்அச்செண்ணுரை )
print (அடிக்கோடுபுள்ளி)
print('முந்தைய மேலடி;- \n' + தொபமேலடித்தரவு + '\n')
if '{{rh|' in தொபமேலடித்தரவு or '
' in தொபமேலடித்தரவு :
print("'{{rh|'வார்ப்புரு இடப்பட்டுள்ளது.\n")
else:
# print("'{{rh|'வார்ப்புரு இல்லை.\n")
தொபமேலடித்தரவுத்தூய்மை1 = தொபமேலடித்தரவு.replace('','')
# print( தொபமேலடித்தரவுத்தூய்மை1 )
தொபமேலடித்தரவுத்தூய்மை2 = தொபமேலடித்தரவுத்தூய்மை1.split('/>') [0]
# print( தொபமேலடித்தரவுத்தூய்மை2 )
தொபமேலடித்தரவுத்தூய்மை3 = தொபமேலடித்தரவுத்தூய்மை2 + '/>'
# print( தொபமேலடித்தரவுத்தூய்மை3 )
தொபமேலடித்தரவுபுதிது = தொபமேலடித்தரவுத்தூய்மை3 + '{{rh|' + நூலின்அச்செண்ணுரை + '||' + மின்னூலின்இரட்டைப்படையில்இடவேண்டியவுரை + '}} '
print ('புதிய மேலடி;-\n ' + தொபமேலடித்தரவுபுதிது )
print (அடிக்கோடுபுள்ளி)
மாற்றியமுழுத்தரவு = தொபமுழுத்தரவு.replace( தொபமேலடித்தரவு , தொபமேலடித்தரவுபுதிது ).replace(தொபநடுப்பகுதிசில,'')
#
தொடக்கப்பக்கம்.text = மாற்றியமுழுத்தரவு
# print (மாற்றியமுழுத்தரவு)
தொபமேலடித்தரவுபுதிதுஅண்மை1 = தொபமேலடித்தரவுபுதிது.split('}}')
தொபமேலடித்தரவுபுதிதுஅண்மை2 = தொபமேலடித்தரவுபுதிது.split('/>')
தொபமேலடித்தரவுபுதிதுஅண்மை3 = தொபமேலடித்தரவுபுதிதுஅண்மை2 [-1].replace('','')
print ( தொபமேலடித்தரவுபுதிதுஅண்மை3 )
print ( தொபநடுப்பகுதிசில )
தொடக்கப்பக்கம்.save('+' + தொபமேலடித்தரவுபுதிதுஅண்மை3 ) #தொபமேலடித்தரவுத்துப்புரவு
time.sleep(காத்திருப்புநொடிகள்)