Mercurial > p > roundup > code
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: |
