User:GeneaBot/Code/module source
< User:GeneaBot | Code
# -*- coding: utf-8 -*-
from object_display import *
from object_source import *
#======================================================
# Fonction SetReferences
#
def ReferenceSet(curRequest):
DisplayMessages.call("A", "ReferenceSet", 1, "curRequest=" + curRequest )
DisplayLog.AppendRequest( curRequest )
Sources = Source()
curRequest = curRequest[:len(curRequest)-2]
listArgs = curRequest.split("|")
iArg = 1
while iArg < len(listArgs):
Statement = listArgs[iArg].split("=")
Property = Statement[0].strip()
try :
Value = listArgs[iArg]
Value = Value[len(Statement[0])+1:]
Value = Value.strip()
DisplayMessages.debug("A", "ReferenceSet", 9, "Property = '" + Property + "', Value = '" + Value + "'" )
except IndexError:
DisplayMessages.error("A", "ReferenceSet", "parameter '" + Property + "' without argument" )
iArg += 1
continue
#
if not Value == '':
if Property == 'affirmed by':
Sources.AddReference('P248', Value, True)
#
elif Property == 'tome':
Sources.AddReference('P478', Value, True)
#
elif Property == 'page':
Sources.AddReference('P304', Value, True)
#
elif Property == 'url':
Sources.AddReference('P854', Value, True)
#
elif Property == 'retrieved':
Sources.AddReference('P813', Value, True)
#
else:
DisplayMessages.message("A", "ReferenceSet", "unknown parameter '" + Property + " = " + Value + "'")
iArg += 1
DisplayMessages.debug("A", "ReferenceSet", 4, "Sources = " + repr(Sources) )
return Sources
def testModuleSource(NumTest, Represent, Request):
print( "" )
print( "---------------------------" )
print( "test " + str(NumTest) + " :\ntestModuleSource(" + Request + ")" )
source = ReferenceSet(Request)
if Represent:
print( repr(source) )
else:
print( str(source) )
print( "" )
DisplayLog.End()
DisplayLog.Read()
def mainTestModuleSource(*args):
param = CallParameter(*args)
NumCase = param.GetValue('case', 0)
Represent = param.GetValue('repr', False)
if NumCase == 0 or NumCase == 1:
testModuleSource(1, Represent, "{{/SetReferences | affirmed by = Q13409396 | url = http://fmg.ac/Projects/MedLands/SAVOY.htm | retrieved = 8 Jun 2015 }}")
if NumCase == 0 or NumCase == 2:
testModuleSource(2, Represent, "{{/SetReferences | affirmed by = Q13419312 | tome = 1 | page = 132-7 }}")
print( "" )
DisplayLog.End()
DisplayLog.Read()
if __name__ == "__main__":
mainTestModuleSource()