Skip to content
This repository was archived by the owner on Sep 29, 2023. It is now read-only.

Commit 9600cd2

Browse files
committed
Reasonable changes and code formatting
1 parent f1ebedc commit 9600cd2

File tree

13 files changed

+149
-134
lines changed

13 files changed

+149
-134
lines changed

bones/bone.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -466,17 +466,17 @@ def setBoneValue(self, valuesCache, boneName, value, append, *args, **kwargs):
466466
else:
467467
return False
468468

469-
def renderBoneStructure( self, rendererObj = None, *args, **kwargs ):
469+
def renderBoneStructure(self, render = None, *args, **kwargs):
470470
ret = {
471-
"descr":_( self.descr ),
472-
"type":self.type,
473-
"required":self.required,
474-
"params":self.params,
475-
"visible":self.visible,
476-
"readOnly":self.readOnly
477-
}
471+
"descr": _(self.descr),
472+
"type": self.type,
473+
"required": self.required,
474+
"params": self.params,
475+
"visible": self.visible,
476+
"readOnly": self.readOnly
477+
}
478478

479479
return ret
480480

481-
def renderBoneValue( self,skel,boneName, rendererObj = None, *args, **kwargs ):
481+
def renderBoneValue(self,skel, boneName, render = None, *args, **kwargs):
482482
return skel[boneName]

bones/captchaBone.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,10 @@ def fromClient(self, valuesCache, name, data):
5757
return None
5858
return( u"Invalid Captcha" )
5959

60-
def renderBoneStructure( self, rendererObj = None, *args, **kwargs ):
61-
ret = super(captchaBone, self).renderBoneStructure(rendererObj, *args, **kwargs)
62-
ret.update( {
63-
"publicKey":self.publicKey,
64-
} )
60+
def renderBoneStructure(self, render = None, *args, **kwargs):
61+
ret = super(captchaBone, self).renderBoneStructure(render, *args, **kwargs)
62+
ret.update({
63+
"publicKey": self.publicKey,
64+
})
65+
6566
return ret

bones/dateBone.py

Lines changed: 16 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -281,31 +281,25 @@ def performMagic( self, valuesCache, name, isAdd ):
281281
if (self.creationMagic and isAdd) or self.updateMagic:
282282
self.setLocalized( valuesCache, name, ExtendedDateTime.now() )
283283

284-
def renderBoneStructure( self, rendererObj = None, *args, **kwargs ):
285-
ret = super(dateBone, self).renderBoneStructure(rendererObj, *args, **kwargs)
286-
ret.update( {
287-
"date":self.date,
288-
"time":self.time
289-
} )
290-
return ret
284+
def renderBoneStructure( self, render = None, *args, **kwargs ):
285+
ret = super(dateBone, self).renderBoneStructure(render, *args, **kwargs)
286+
ret.update({
287+
"date" :self.date,
288+
"time": self.time
289+
})
291290

292-
def renderBoneValue( self, skel, boneName, rendererObj = None, *args, **kwargs ):
293-
from server.render.json import default as jsonrenderer
294-
from server.render.xml import default as xmlrenderer
295-
from server.render.vi import default as virenderer
296-
from server.render.admin import default as adminrenderer
291+
return ret
297292

298-
if isinstance(rendererObj,jsonrenderer) or\
299-
isinstance( rendererObj, virenderer ) or\
300-
isinstance( rendererObj, adminrenderer ) or\
301-
isinstance( rendererObj, xmlrenderer ): #datetime object is not json serializable
302-
if skel[ boneName ]:
293+
def renderBoneValue(self, skel, boneName, render = None, *args, **kwargs):
294+
if render.render in ["json", "xml"] or render.render.startswith("json."):
295+
if skel[boneName]:
303296
if self.date and self.time:
304-
return skel[ boneName ].strftime( "%d.%m.%Y %H:%M:%S" )
297+
return skel[boneName].strftime("%d.%m.%Y %H:%M:%S")
305298
elif self.date:
306-
return skel[ boneName ].strftime( "%d.%m.%Y" )
299+
return skel[boneName].strftime("%d.%m.%Y")
300+
301+
return skel[boneName].strftime("%H:%M:%S")
307302

308-
return skel[ boneName ].strftime( "%H:%M:%S" )
309303
return None
310-
else:
311-
return super(dateBone, self).renderBoneValue(skel,boneName,rendererObj,*args,**kwargs)
304+
305+
return super(dateBone, self).renderBoneValue(skel, boneName, render, *args, **kwargs) # fallback

bones/numericBone.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -116,11 +116,12 @@ def getSearchDocumentFields(self, valuesCache, name, prefix = ""):
116116
return [search.NumberField(name=prefix + name, value=valuesCache[name])]
117117
return []
118118

119-
def renderBoneStructure( self, rendererObj = None, *args, **kwargs ):
120-
ret = super(numericBone, self).renderBoneStructure(rendererObj, *args, **kwargs)
121-
ret.update( {
122-
"precision":self.precision,
123-
"min":self.min,
124-
"max":self.max
125-
} )
119+
def renderBoneStructure(self, render = None, *args, **kwargs):
120+
ret = super(numericBone, self).renderBoneStructure(render, *args, **kwargs)
121+
ret.update({
122+
"precision": self.precision,
123+
"min": self.min,
124+
"max": self.max
125+
})
126+
126127
return ret

bones/relationalBone.py

Lines changed: 63 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -950,111 +950,117 @@ def blobsFromSkel(skel, valuesCache):
950950
res.update(blobsFromSkel(self._usingSkelCache, valuesCache[name]["rel"]))
951951
return res
952952

953-
def renderBoneStructure( self, rendererObj = None, *args, **kwargs ):
953+
def renderBoneStructure( self, render = None, *args, **kwargs ):
954954
from server.skeleton import RefSkel, skeletonByKind #prevent circular imports
955955
from server import bones
956-
ret = super(relationalBone, self).renderBoneStructure(rendererObj, *args, **kwargs)
957956

958-
if isinstance( self, bones.hierarchyBone ):
957+
ret = super(relationalBone, self).renderBoneStructure(render, *args, **kwargs)
958+
959+
if isinstance(self, bones.hierarchyBone):
959960
boneType = "hierarchy"
960-
elif isinstance( self, bones.treeItemBone ):
961+
elif isinstance(self, bones.treeItemBone):
961962
boneType = "treeitem"
962-
elif isinstance( self, bones.treeDirBone ):
963+
elif isinstance(self, bones.treeDirBone):
963964
boneType = "treedir"
964965
else:
965966
boneType = "relational"
966967

967-
ret.update( {
968-
"type":"%s.%s" % (boneType, self.kind),
969-
"module":self.module,
970-
"multiple":self.multiple,
971-
"format":self.format,
972-
"using":rendererObj.renderSkelStructure( self.using() ) if self.using else None,
973-
"relskel":rendererObj.renderSkelStructure( RefSkel.fromSkel( skeletonByKind( self.kind ), *self.refKeys ) )
974-
} )
968+
ret.update({
969+
"type": "%s.%s" % (boneType, self.kind),
970+
"module": self.module,
971+
"multiple": self.multiple,
972+
"format": self.format,
973+
"using": render.renderSkelStructure(self.using()) if self.using else None,
974+
"relskel": render.renderSkelStructure(RefSkel.fromSkel(skeletonByKind(self.kind), *self.refKeys))
975+
})
975976

976977
return ret
977978

978-
def renderBoneValue( self,skel,boneName, rendererObj = None, *args, **kwargs ):
979-
from server.render.json import default as jsonrenderer
980-
from server.render.xml import default as xmlrenderer
981-
from server.render.vi import default as virenderer
982-
from server.render.admin import default as adminrenderer
983-
from server.render.html import default as htmlrenderer
984-
985-
if isinstance( rendererObj, jsonrenderer ) or \
986-
isinstance( rendererObj, virenderer ) or \
987-
isinstance( rendererObj, adminrenderer ) or \
988-
isinstance( rendererObj, xmlrenderer ):
989-
if isinstance( skel[ boneName ], list ):
979+
def renderBoneValue(self, skel, boneName, render=None, *args, **kwargs):
980+
if render.render in ["json", "xml"] or render.render.startswith("json."):
981+
if isinstance(skel[boneName], list):
990982
refSkel = self._refSkelCache
991983
usingSkel = self._usingSkelCache
992-
tmpList = [ ]
984+
ret = []
985+
993986
for k in skel[ boneName ]:
994-
refSkel.setValuesCache( k[ "dest" ] )
987+
refSkel.setValuesCache(k["dest"])
988+
995989
if usingSkel:
996-
usingSkel.setValuesCache( k.get( "rel", { } ) )
997-
usingData = rendererObj.renderSkelValues( usingSkel )
990+
usingSkel.setValuesCache(k.get( "rel", {}))
991+
usingData = render.renderSkelValues(usingSkel)
998992
else:
999993
usingData = None
1000-
tmpList.append( {
1001-
"dest":rendererObj.renderSkelValues( refSkel ),
1002-
"rel":usingData
1003-
} )
1004994

1005-
return tmpList
995+
ret.append({
996+
"dest": render.renderSkelValues(refSkel),
997+
"rel": usingData
998+
})
1006999

1007-
elif isinstance( skel[ boneName ], dict ):
1000+
return ret
1001+
1002+
elif isinstance(skel[boneName], dict):
10081003
refSkel = self._refSkelCache
10091004
usingSkel = self._usingSkelCache
1010-
refSkel.setValuesCache( skel[ boneName ][ "dest" ] )
1005+
1006+
refSkel.setValuesCache(skel[boneName]["dest"])
1007+
10111008
if usingSkel:
1012-
usingSkel.setValuesCache( skel[ boneName ].get( "rel", { } ) )
1013-
usingData = rendererObj.renderSkelValues( usingSkel )
1009+
usingSkel.setValuesCache(skel[boneName].get("rel", {}))
1010+
usingData = render.renderSkelValues(usingSkel)
10141011
else:
10151012
usingData = None
1013+
10161014
return {
1017-
"dest":rendererObj.renderSkelValues( refSkel ),
1018-
"rel":usingData
1019-
}
1020-
elif isinstance(rendererObj,htmlrenderer):
1021-
if isinstance(skel[ boneName ], list):
1022-
tmpList = []
1015+
"dest": render.renderSkelValues(refSkel),
1016+
"rel": usingData
1017+
}
1018+
1019+
elif render.render == "html" or render.render.startswith("html."):
1020+
if isinstance(skel[boneName], list):
1021+
ret = []
10231022
for k in skel[ boneName ]:
10241023
refSkel = self._refSkelCache
10251024
refSkel.setValuesCache(k["dest"])
1025+
10261026
if self.using is None:
1027-
tmpList.append(rendererObj.collectSkelData(refSkel))
1027+
ret.append(render.collectSkelData(refSkel))
10281028
else:
10291029
usingSkel = self._usingSkelCache
1030+
10301031
if k["rel"]:
10311032
usingSkel.setValuesCache(k["rel"])
1032-
usingData = rendererObj.collectSkelData(usingSkel)
1033+
usingData = render.collectSkelData(usingSkel)
10331034
else:
10341035
usingData = None
1035-
tmpList.append({
1036-
"dest": rendererObj.collectSkelData(refSkel),
1037-
"rel": usingData
1036+
1037+
ret.append({
1038+
"dest": render.collectSkelData(refSkel),
1039+
"rel": usingData
10381040
})
1039-
return tmpList
1040-
elif isinstance(skel[ boneName ], dict):
1041+
1042+
return ret
1043+
1044+
elif isinstance(skel[boneName], dict):
10411045
refSkel = self._refSkelCache
1042-
refSkel.setValuesCache(skel[ boneName ]["dest"])
1046+
refSkel.setValuesCache(skel[boneName]["dest"])
1047+
10431048
if self.using is None:
1044-
return rendererObj.collectSkelData(refSkel)
1049+
return render.collectSkelData(refSkel)
10451050
else:
10461051
usingSkel = self._usingSkelCache
1052+
10471053
if skel[ boneName ]["rel"]:
10481054
usingSkel.setValuesCache(skel[ boneName ]["rel"])
1049-
usingData = rendererObj.collectSkelData(usingSkel)
1055+
usingData = render.collectSkelData(usingSkel)
10501056
else:
10511057
usingData = None
10521058

10531059
return {
1054-
"dest": rendererObj.collectSkelData(refSkel),
1060+
"dest": render.collectSkelData(refSkel),
10551061
"rel": usingData
10561062
}
10571063
else:
10581064
return None
1059-
else:
1060-
return super(relationalBone, self).renderBoneValue(skel,boneName,rendererObj,*args,**kwargs)
1065+
1066+
return super(relationalBone, self).renderBoneValue(skel, boneName, render, *args, **kwargs)

bones/selectBone.py

Lines changed: 22 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -113,31 +113,35 @@ def unserialize(self, valuesCache, name, expando):
113113

114114
return True
115115

116-
def renderBoneStructure( self, rendererObj = None, *args, **kwargs ):
117-
ret = super(selectBone, self).renderBoneStructure(rendererObj, *args, **kwargs)
118-
ret.update( {
119-
"values":OrderedDict( [ (k, _( v )) for (k, v) in self.values.items() ] ),
120-
"multiple":self.multiple
121-
} )
116+
def renderBoneStructure( self, render = None, *args, **kwargs ):
117+
ret = super(selectBone, self).renderBoneStructure(render, *args, **kwargs)
118+
119+
ret.update({
120+
"values": OrderedDict([(k, _( v )) for (k, v) in self.values.items()]),
121+
"multiple": self.multiple
122+
})
123+
122124
return ret
123125

124-
def renderBoneValue( self, skel, boneName, rendererObj = None, *args, **kwargs ):
125-
from server.render.html import default as htmlrenderer
126+
def renderBoneValue(self, skel, boneName, render=None, *args, **kwargs):
127+
if render.render == "html" or render.render.startswith("html."):
128+
skelValue = skel[boneName]
129+
130+
if self.multiple and not isinstance(skelValue, list):
131+
return [ render.KeyValueWrapper(skelValue, self.values[skelValue])]
126132

127-
if isinstance(rendererObj,htmlrenderer): # datetime object is not json serializable
128-
skelValue = skel[ boneName ]
129-
if self.multiple and not isinstance( skelValue, list ):
130-
return [ rendererObj.KeyValueWrapper( skelValue, self.values[ skelValue ] ) ]
131133
elif self.multiple:
132134
return [
133-
rendererObj.KeyValueWrapper( val, self.values[ val ] ) if val in self.values else val
134-
for val in skelValue
135-
]
135+
render.KeyValueWrapper(val, self.values[val]) if val in self.values else val
136+
for val in skelValue
137+
]
138+
136139
elif skelValue in self.values:
137-
return rendererObj.KeyValueWrapper( skelValue, self.values[ skelValue ] )
140+
return render.KeyValueWrapper(skelValue, self.values[ skelValue])
141+
138142
return skelValue
139-
else:
140-
return super(selectBone, self).renderBoneValue(skel,boneName,rendererObj,*args,**kwargs)
143+
144+
return super(selectBone, self).renderBoneValue(skel, boneName, render, *args, **kwargs)
141145

142146

143147
class selectOneBone(selectBone):

bones/stringBone.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -382,10 +382,11 @@ def getUniquePropertyIndexValue(self, valuesCache, name):
382382
return( None )
383383
return( super( stringBone, self).getUniquePropertyIndexValue(valuesCache, name))
384384

385-
def renderBoneStructure( self, rendererObj=None, *args, **kwargs ):
386-
ret = super(stringBone, self).renderBoneStructure(rendererObj, *args, **kwargs)
387-
ret.update( {
388-
"languages":self.languages,
389-
"multiple":self.multiple
390-
} )
385+
def renderBoneStructure(self, render=None, *args, **kwargs):
386+
ret = super(stringBone, self).renderBoneStructure(render, *args, **kwargs)
387+
ret.update({
388+
"languages": self.languages,
389+
"multiple": self.multiple
390+
})
391+
391392
return ret

bones/textBone.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -327,10 +327,11 @@ def getSearchDocumentFields(self, valuesCache, name, prefix = ""):
327327
else:
328328
return [search.TextField(name=prefix + name, value=unicode(valuesCache[name]))]
329329

330-
def renderBoneStructure( self, rendererObj = None, *args, **kwargs ):
331-
ret = super(textBone, self).renderBoneStructure(rendererObj, *args, **kwargs)
332-
ret.update( {
333-
"validHtml":self.validHtml,
334-
"languages":self.languages
335-
} )
330+
def renderBoneStructure(self, render = None, *args, **kwargs):
331+
ret = super(textBone, self).renderBoneStructure(render, *args, **kwargs)
332+
ret.update({
333+
"validHtml": self.validHtml,
334+
"languages": self.languages
335+
})
336+
336337
return ret

render/admin/__init__.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# -*- coding: utf-8 -*-
22

3-
from server.render.json.default import DefaultRender as default
3+
from server.render.json.default import DefaultRender
44
from server.render.json.user import UserRender as user
55
from server.render.json.file import FileRender as file
66
from server.skeleton import Skeleton
@@ -11,6 +11,9 @@
1111
from server import session
1212
import datetime, json
1313

14+
class default(DefaultRender):
15+
name = "json.admin"
16+
1417
__all__=[ default ]
1518

1619
def genSkey( *args, **kwargs ):

0 commit comments

Comments
 (0)