User:GeneaBot/Code/main GeneaBot
< User:GeneaBot | Code
# -*- coding: utf-8 -*-
from object_display import *
from module_source import *
from module_person import *
from module_function import *
from module_title import *
def DisplayHelp():
print( "Parameters :" )
print( " -HELP" )
print( " -UPDATE" )
print( " -DEBUG:n" )
print( " -FILE:filename (will be in 'request\\' directory)" )
#======================================================
# Fonction ReadRequest
# read file 'request.txt' and runs requests
#
# Parameters :
# -simu : mode simulation
# -file {Filename} : gives the file that contains requests
# (by default:request.txt)
#
def ReadRequest(*args):
param = CallParameter(*args)
Update = param.GetValue('update', False)
Help = param.GetValue('help', False)
Filename = param.GetValue('file', "request.txt")
if Help:
DisplayHelp()
else:
NbReq = 0
DisplayMessages.SetFileName(Filename)
DisplayMessages.call("A", "ReadRequest", 2, "call parameters = " + str(param.param))
DisplayMessages.debug("A", "ReadRequest", 8, "options : Update=" + str(Update) + ", Help=" + str(Help) + ", Filename=" + str(Filename))
DisplayLog.SetFileName(Filename)
DisplayLog.AppendLogTitle("List of requests")
DisplayLog.AppendItem("\n<source>")
DisplayLog.AppendRequest( "{{/Begin}}" )
FileRequest = open("request\\" + Filename, "r")
TextRequest = FileRequest.read()
FileRequest.close()
t = Filename.split(".")
Anchor = t[0]
#
bTitleEnd = False
bFunctionEnd = False
bSources = False
bPerson = False
ListRequest = TextRequest.split("\n")
i = 0
while i < len(ListRequest):
curRequest = ListRequest[i].strip()
DisplayMessages.debug("A", "ReadRequest", 8, "curRequest=" + curRequest )
#
Request = '{{/ReferenceSet'
if curRequest[:len(Request)] == Request :
NbReq += 1
if bSources:
del Sources
Sources = ReferenceSet( curRequest )
bSources = True
#
Request = '{{/PersonUpdate'
if curRequest[:len(Request)] == Request :
if not bPerson:
DisplayLog.AppendRequest( "{{/PersonBegin}}" )
bPerson = True
NbReq += 1
PersonUpdate( curRequest, Sources)
#
Request = '{{/TitleSet'
if curRequest[:len(Request)] == Request :
if bTitleEnd:
TitleEnd(mngtTitle, Sources)
del mngtTitle
bTitleEnd= False
NbReq += 1
mngtTitle = TitleSet( curRequest)
#
Request = '{{/TitleAdd'
if curRequest[:len(Request)] == Request :
NbReq += 1
mngtTitle = TitleAdd( curRequest, mngtTitle, Sources)
bTitleEnd = True
#
Request = '{{/FunctionSet'
if curRequest[:len(Request)] == Request :
if bFunctionEnd:
FunctionEnd(mngtFunction, Sources)
del mngtFunction
bFunctionEnd= False
NbReq += 1
mngtFunction = FunctionSet( curRequest)
#
Request = '{{/FunctionAdd'
if curRequest[:len(Request)] == Request :
NbReq += 1
mngtFunction = FunctionAdd( curRequest, mngtFunction, Sources)
bFunctionEnd = True
#
i += 1
if bTitleEnd:
TitleEnd(mngtTitle, Sources)
del mngtTitle
bTitleEnd= False
if bFunctionEnd:
FunctionEnd(mngtFunction, Sources)
del mngtFunction
bFunctionEnd= False
DisplayLog.AppendRequest( "{{/End}}" )
DisplayLog.AppendItem("
\n")
if NbReq == 0: DisplayHelp() else: Item.WikidataUpdate(Update, Anchor)
- appel de la fonction
if __name__ == "__main__":
ReadRequest()
</source>