示例#1
0
    def test_increment(self):

        dnn = 1000000
        rev = 100

        dn = DatasetNumber(dnn, rev)
        self.assertEqual('d000004c9201C', str(dn))

        dn2 = ObjectNumber.increment(dn)
        self.assertEqual(101, dn2.revision)

        dn3 = ObjectNumber.increment(dn2)
        self.assertEqual(102, dn3.revision)

        tn = TableNumber(dn3, 1)
        self.assertEqual(102, tn.revision)
        self.assertEqual('t000004c920101E', str(tn))

        tn2 = ObjectNumber.increment(tn)
        self.assertEqual(103, tn2.revision)
示例#2
0
    def test_increment(self):

        dnn = 1000000
        rev = 100

        dn = DatasetNumber(dnn, rev)
        self.assertEqual('d000004c9201C', str(dn))

        dn2 = ObjectNumber.increment(dn)
        self.assertEqual(101, dn2.revision)

        dn3 = ObjectNumber.increment(dn2)
        self.assertEqual(102, dn3.revision)

        tn = TableNumber(dn3, 1)
        self.assertEqual(102, tn.revision)
        self.assertEqual('t000004c920101E', str(tn))

        tn2 = ObjectNumber.increment(tn)
        self.assertEqual(103, tn2.revision)
示例#3
0
def incver(o, prop_names):
    """Increment the version numbers of a set of properties and return a new object"""
    from ambry.identity import ObjectNumber

    d = {}

    for p in o.__mapper__.attrs:
        v = getattr(o, p.key)
        if v is None:
            d[p.key] = None
        elif p.key in prop_names:
            d[p.key] = str(ObjectNumber.increment(v))
        else:
            if not hasattr(v, '__mapper__'):  # Only copy values, never objects
                d[p.key] = v

    return o.__class__(**d)
示例#4
0
def incver(o, prop_names):
    """Increment the version numbers of a set of properties and return a new object"""
    from ambry.identity import ObjectNumber

    d = {}

    for p in o.__mapper__.attrs:
        v = getattr(o, p.key)
        if v is None:
            d[p.key] = None
        elif p.key in prop_names:
            d[p.key] = str(ObjectNumber.increment(v))
        else:
            if not hasattr(v, '__mapper__'): # Only copy values, never objects
                d[p.key] = v

    return o.__class__(**d)