def populate(self, values):
     for k, v in values.iteritems():
         # ensure we stay under our DB character limit
         if k in self.bare:
             setattr(self, k, v[0][:254])
         elif k in self.number:
             setattr(self, k, long(v[0]))
         elif k in ('desc', 'pgpsig'):
             # do NOT prune these values at all
             setattr(self, k, v[0])
         elif k == 'version':
             self.ver, self.rel, self.epoch = parse_version(v[0])
         elif k == 'builddate':
             try:
                 builddate = datetime.utcfromtimestamp(int(v[0]))
                 self.builddate = builddate.replace(tzinfo=utc)
             except ValueError:
                 logger.warning(
                         'Package %s had unparsable build date %s',
                         self.name, v[0])
         elif k == 'files':
             self.files = tuple(v)
             self.has_files = True
         else:
             # anything left in collections
             setattr(self, k, tuple(v))
 def forwards(self, orm):
     for pk, version in orm.FlagRequest.objects.exclude(
             version='').values_list('pk', 'version'):
         ver, rel, epoch = parse_version(version)
         orm.FlagRequest.objects.filter(pk=pk).update(pkgver=ver,
                                                      pkgrel=rel,
                                                      epoch=epoch)
Example #3
0
 def populate(self, values):
     for k, v in values.iteritems():
         # ensure we stay under our DB character limit
         if k in self.bare:
             setattr(self, k, v[0][:254])
         elif k in self.number:
             setattr(self, k, long(v[0]))
         elif k in ('desc', 'pgpsig'):
             # do NOT prune these values at all
             setattr(self, k, v[0])
         elif k == 'version':
             self.ver, self.rel, self.epoch = parse_version(v[0])
         elif k == 'builddate':
             try:
                 builddate = datetime.utcfromtimestamp(int(v[0]))
                 self.builddate = builddate.replace(tzinfo=utc)
             except ValueError:
                 logger.warning('Package %s had unparsable build date %s',
                                self.name, v[0])
         elif k == 'files':
             self.files = tuple(v)
             self.has_files = True
         else:
             # anything left in collections
             setattr(self, k, tuple(v))
 def forwards(self, orm):
     for pk, version in orm.FlagRequest.objects.exclude(
             version='').values_list('pk', 'version'):
         ver, rel, epoch = parse_version(version)
         orm.FlagRequest.objects.filter(pk=pk).update(
                 pkgver=ver, pkgrel=rel, epoch=epoch)