comparison roundup/backends/back_metakit.py @ 1496:e6ac4e074acb

relaxed CVS importing (feature [SF#693277])
author Richard Jones <richard@users.sourceforge.net>
date Thu, 06 Mar 2003 07:33:29 +0000
parents b3f2484babce
children 5c58ccad41ee
comparison
equal deleted inserted replaced
1495:a2a57ec8fdf0 1496:e6ac4e074acb
1104 view = self.getview(1) 1104 view = self.getview(1)
1105 for i in range(len(propnames)): 1105 for i in range(len(propnames)):
1106 value = eval(proplist[i]) 1106 value = eval(proplist[i])
1107 if not value: 1107 if not value:
1108 continue 1108 continue
1109
1109 propname = propnames[i] 1110 propname = propnames[i]
1110 prop = properties[propname]
1111 if propname == 'id': 1111 if propname == 'id':
1112 newid = value = int(value) 1112 newid = value = int(value)
1113 elif isinstance(prop, hyperdb.Date): 1113 elif propname == 'is retired':
1114 # is the item retired?
1115 if int(value):
1116 d['_isdel'] = 1
1117 continue
1118
1119 prop = properties[propname]
1120 if isinstance(prop, hyperdb.Date):
1114 value = int(calendar.timegm(value)) 1121 value = int(calendar.timegm(value))
1115 elif isinstance(prop, hyperdb.Interval): 1122 elif isinstance(prop, hyperdb.Interval):
1116 value = str(date.Interval(value)) 1123 value = str(date.Interval(value))
1117 elif isinstance(prop, hyperdb.Number): 1124 elif isinstance(prop, hyperdb.Number):
1118 value = int(value) 1125 value = int(value)
1122 value = int(value) 1129 value = int(value)
1123 elif isinstance(prop, hyperdb.Multilink): 1130 elif isinstance(prop, hyperdb.Multilink):
1124 # we handle multilinks separately 1131 # we handle multilinks separately
1125 continue 1132 continue
1126 d[propname] = value 1133 d[propname] = value
1127 # is the item retired? 1134
1128 if int(proplist[-1]): 1135 # possibly make a new node
1129 d['_isdel'] = 1 1136 if not d.has_key('id'):
1137 d['id'] = newid = self.maxid
1138 self.maxid += 1
1139
1140 # save off the node
1130 view.append(d) 1141 view.append(d)
1131 1142
1143 # fix up multilinks
1132 ndx = view.find(id=newid) 1144 ndx = view.find(id=newid)
1133 row = view[ndx] 1145 row = view[ndx]
1134 for i in range(len(propnames)): 1146 for i in range(len(propnames)):
1135 value = eval(proplist[i]) 1147 value = eval(proplist[i])
1136 propname = propnames[i] 1148 propname = propnames[i]
1149 if propname == 'is retired':
1150 continue
1137 prop = properties[propname] 1151 prop = properties[propname]
1138 if not isinstance(prop, hyperdb.Multilink): 1152 if not isinstance(prop, hyperdb.Multilink):
1139 continue 1153 continue
1140 sv = getattr(row, propname) 1154 sv = getattr(row, propname)
1141 for entry in value: 1155 for entry in value:

Roundup Issue Tracker: http://roundup-tracker.org/