示例#1
0
文件: models.py 项目: cargious/ocf
class DummyOFAggregate(models.Model):
    adv_rspec = models.XMLField()
    resv_rspec = models.XMLField(null=True, blank=True)

    def snapshot_switches(self):
        self.adv_rspec = gapi.ListResources({}, None)
        self.adv_rspec = self.adv_rspec.replace(
            rspec.OPENFLOW_GAPI_RSC_URN_PREFIX, OTHER_PREFIX)
        self.save()
示例#2
0
class FieldsWithOptionsModel(models.Model):
    # any type of unique (unique_data, ...) is not supported on GAE, instead you
    # can use primary_key=True for some special cases. But be carefull: changing
    # the  primary_key of an entity will not result in an updated entity,
    # instead a new entity will be putted into the datastore. The old one will
    # not be deleted and all references pointing to the old entitiy will not
    # point to the new one either
    datetime = models.DateTimeField(auto_now=True, db_column="birthday")
    date = models.DateField(auto_now_add=True)
    time = models.TimeField()
    floating_point = models.FloatField(null=True)
    boolean = models.BooleanField()
    null_boolean = models.NullBooleanField(default=True)
    text = models.CharField(default='Hallo', max_length=10)
    email = models.EmailField(default='*****@*****.**',
                              primary_key=True)
    comma_seperated_integer = models.CommaSeparatedIntegerField(max_length=10)
    ip_address = models.IPAddressField(default="192.168.0.2")
    slug = models.SlugField(default="GAGAA", null=True)
    url = models.URLField(default='http://www.scholardocs.com')
    #    file = FileField()
    #    file_path = FilePathField()
    long_text = models.TextField(default=1000 * 'A')
    xml = models.XMLField(default=2000 * 'B')
    integer = models.IntegerField(default=100)
    small_integer = models.SmallIntegerField(default=-5)
    positiv_integer = models.PositiveIntegerField(default=80)
    positiv_small_integer = models.PositiveSmallIntegerField(default=3,
                                                             null=True)
    foreign_key = models.ForeignKey('OrderedModel',
                                    null=True,
                                    related_name='keys')
示例#3
0
class C(models.Model):
    "all with akas"
    c001 = models.AutoField(primary_key=True, aka='xxx')
    c002 = models.BooleanField(aka='xxx')
    c003 = models.CharField(maxlength='256', aka='xxx')
    c004 = models.CommaSeparatedIntegerField(maxlength='256', aka='xxx')
    c005 = models.DateField(aka='xxx')
    c006 = models.DateTimeField(aka='xxx')
    if deseb.version == 'trunk':
        c007 = models.DecimalField(decimal_places=5, max_digits=10,
                                   aka='xxx')  # not in v0.96
    c008 = models.EmailField(aka='xxx')
    c010 = models.FileField(upload_to='/tmp', aka='xxx')
    c011 = models.FilePathField(aka='xxx')
    if deseb.version == '0.96':
        c012 = models.FloatField(aka='xxx', decimal_places=5,
                                 max_digits=10)  # for v0.96
    else:
        c012 = models.FloatField(aka='xxx')
    c013 = models.IPAddressField(aka='xxx')
    c014 = models.ImageField(upload_to='/tmp', aka='xxx')
    c015 = models.IntegerField(aka='xxx')
    c016 = models.NullBooleanField(aka='xxx')
    #   c017 = models.OrderingField(maxlength='256')
    c018 = models.PhoneNumberField(aka='xxx')
    c019 = models.PositiveIntegerField(aka='xxx')
    c020 = models.PositiveSmallIntegerField(aka='xxx')
    c021 = models.SlugField(aka='xxx')
    c022 = models.SmallIntegerField(aka='xxx')
    c023 = models.TextField(aka='xxx')
    c024 = models.TimeField(aka='xxx')
    c025 = models.URLField(aka='xxx')
    c026 = models.USStateField(aka='xxx')
    c027 = models.XMLField(aka='xxx')
示例#4
0
class Verse(models.Model):  #பா
    author = models.ForeignKey(Author,
                               null=True,
                               blank=True,
                               verbose_name='ஆசிரியர்',
                               related_name='verses')
    publishing_date = models.DateTimeField(null=True,
                                           auto_now_add=True,
                                           verbose_name='பதிப்பு_நேரம்')
    revision_date = models.DateTimeField(null=True,
                                         auto_now=True,
                                         verbose_name='திருத்தப்பட்ட நேரம்')
    verse_text = models.TextField(verbose_name='பா_செய்யுள்')
    parsing_status = models.CharField(max_length=2,
                                      choices=PARSING_STATUS_OPTIONS,
                                      default='N',
                                      verbose_name='பகுப்பாய்வு_குறிப்பு')
    result = models.XMLField(blank=True, verbose_name='முடிவுகள்')

    def __unicode__(self):
        return self.verse_text[:15] + '...'

    def save(self, *args, **kwargs):
        result = tamil_parser.analyzeVerse(self.verse_text.replace('\r', '\n'))
        if result is None:
            self.result = ''
            self.parsing_status = 'E'
        else:
            self.result = result
            self.parsing_status = 'Y'
        super(Verse, self).save(args, kwargs)
class TestModelWithFallback2(models.Model):
    title = models.CharField(ugettext_lazy('title'), max_length=255)
    text = models.TextField(blank=True, null=True)
    url = models.URLField(verify_exists=False, blank=True, null=True)
    email = models.EmailField(blank=True, null=True)
    xml = models.XMLField(blank=True, null=True)
    fk = models.ForeignKey(RelatedModel, blank=True, null=True)
    o2o = models.OneToOneField(RelatedModel, blank=True, null=True)
    m2m = models.ManyToManyField(RelatedModel, blank=True, null=True)
示例#6
0
class FieldsWithoutOptionsModel(models.Model):
    datetime = models.DateTimeField()
    date = models.DateField()
    time = models.TimeField()
    floating_point = models.FloatField()
    boolean = models.BooleanField()
    null_boolean = models.NullBooleanField()
    text = models.CharField(max_length=32)
    email = models.EmailField()
    comma_seperated_integer = models.CommaSeparatedIntegerField(max_length=10)
    ip_address = models.IPAddressField()
    slug = models.SlugField()
    url = models.URLField()
    #    file = models.FileField()
    #    file_path = models.FilePathField()
    long_text = models.TextField()
    indexed_text = models.TextField()
    xml = models.XMLField()
    integer = models.IntegerField()
    small_integer = models.SmallIntegerField()
    positiv_integer = models.PositiveIntegerField()
    positiv_small_integer = models.PositiveSmallIntegerField()
示例#7
0
class OneOfEverything(models.Model):
    bool_test = models.BooleanField()
    char_test = models.CharField(max_length=10)
    comma_test = models.CommaSeparatedIntegerField(max_length=10)
    date_test = models.DateField()
    date_time_test = models.DateTimeField()
    decimal_test = models.DecimalField(decimal_places=2, max_digits=4)
    email_test = models.EmailField()
    file_test = models.FileField(upload_to='.')
    file_path_test = models.FilePathField()
    float_test = models.FloatField()
    image_test = models.ImageField(upload_to='.')
    int_test = models.IntegerField()
    ip_test = models.IPAddressField()
    null_bool_test = models.NullBooleanField()
    pos_int_test = models.PositiveIntegerField()
    pos_sm_int_test = models.PositiveSmallIntegerField()
    slug_test = models.SlugField()
    sm_int_test = models.SmallIntegerField()
    text_test = models.TextField()
    time_test = models.TimeField()
    url_test = models.URLField()
    xml_test = models.XMLField()
示例#8
0
文件: tests.py 项目: PavlAA79/LabsRIP
class TestingModel(models.Model):
    MAX_LENGTH = 255
    MAX_DIGITS = 10
    DECIMAL_PLACES = 5
    CHOICES = (
        ('1', 'First'),
        ('2', 'Second'),
    )
    LOCAL_FOLDER = "."

    big_field = models.BigIntegerField()
    boolean_field = models.BooleanField()
    char_field = models.CharField(max_length=MAX_LENGTH)
    choice_field = models.CharField(max_length=1, choices=CHOICES)
    commaseparated_field = models.CommaSeparatedIntegerField(
        max_length=MAX_LENGTH)
    date_field = models.DateField()
    datetime_field = models.DateTimeField()
    decimal_field = models.DecimalField(max_digits=MAX_DIGITS,
                                        decimal_places=DECIMAL_PLACES)
    email_field = models.EmailField()
    file_field = models.FileField(upload_to=LOCAL_FOLDER)
    filepath_field = models.FilePathField(path=LOCAL_FOLDER)
    float_field = models.FloatField()
    if _isPILInstalled():
        image_field = models.ImageField(upload_to=LOCAL_FOLDER)
    integer_field = models.IntegerField()
    ipaddress_field = models.IPAddressField()
    nullboolean_field = models.NullBooleanField()
    positive_field = models.PositiveIntegerField()
    positivesmall_field = models.PositiveSmallIntegerField()
    slug_field = models.SlugField()
    small_field = models.SmallIntegerField()
    text_field = models.TextField()
    url_field = models.URLField()
    xml_field = models.XMLField(schema_path=LOCAL_FOLDER)
class TestModelWithFallback2(models.Model):
    title = models.CharField(ugettext_lazy('title'), max_length=255)
    text = models.TextField(blank=True, null=True)
    url = models.URLField(verify_exists=False, blank=True, null=True)
    email = models.EmailField(blank=True, null=True)
    xml = models.XMLField(blank=True, null=True)
示例#10
0
class XMLData(models.Model):
    data = models.XMLField(null=True)
示例#11
0
class Package(models.Model):
    # The package can be identified
    # 1. by its pspec.xml (parsed later) OR
    # 2. by parsing the pspec.xml and then storing the elements in db
    pspec = models.XMLField(schema_path='')
示例#12
0
class Restaurant(models.Model):
    geometry = models.XMLField(schema_path='geometry.ng')
示例#13
0
文件: models.py 项目: cargious/ocf
class PlanetLabAggregate(GENIAggregate):
    information = \
"""
A PlanetLab Aggregate exposed through the GENI API.
"""
   
    rspec = models.XMLField("RSpec", editable=False,)
    
    class Meta:
        verbose_name = "PlanetLab GENI-API Aggregate"
    
    def __unicode__(self):
        return u"PlanetLab GENI-API Aggregate at %s" % self.url
    
    def _to_rspec(self, slice):
        """
        See L{GENIAggregate._to_rspec}.
        """
        # get all the reserved nodes
        reserved = PlanetLabNode.objects.filter(
            aggregate__pk=self.pk, slice_set=slice)
        
        # Get the ids of all reserved nodes
        node_ids = reserved.values_list("node_id", flat=True)
        
        rspec = "%s" % self.rspec
        
        # parse the rspec
        root = et.fromstring(rspec)
        
        # get a mapping from node id to node elem (since this version of
        # elementtree doesn't have XPath working well.
        node_elems = root.findall(".//node")
        node_dict = {}
        for node_elem in node_elems:
            id = node_elem.get("id", None)
            if id:
                node_dict[id] = node_elem
            
        # for each node_id in the reservation, find the corresponding
        # node_elem and add a sliver tag.
        for node_id in node_ids:
            node_elem = node_dict[node_id]
            et.SubElement(node_elem, "sliver")
        
        logger.debug("Sending PlanetLab Reservation RSpec:\n%s" 
                     % et.tostring(root))
        
        return et.tostring(root)
    
    def _from_rspec(self, rspec):
        """
        See L{GENIAggregate._from_rspec}.
        """
        root = et.fromstring(rspec)
        
        # get all planet lab nodes in the rspec.
        node_elems = root.findall(".//node")
        active_node_pks = []
        for elem in node_elems:
            node_id = elem.get("id", None)
            hostname = elem.findtext(".//hostname")
            # TODO: not interested if there's no node id and hostname
            if node_id and hostname:
                # Create/update a matching node. Put it in this aggregate.
                node, created = create_or_update(
                    PlanetLabNode,
                    filter_attrs=dict(name=hostname),
                    new_attrs=dict(node_id=node_id, aggregate=self)
                )
                active_node_pks.append(node.pk)
                logger.debug("Found node id %s name %s - created: %s" % (
                    node_id, hostname, created))
                
        # make disappeared nodes unavailable
        # we filter by aggregate so we don't make a node unavailable
        # if it has moved to another aggregate.
        PlanetLabNode.objects.filter(
            aggregate__pk=self.pk).exclude(pk__in=active_node_pks).update(
                available=False, status_change_timestamp=datetime.now())

        # save the RSpec
        self.rspec = rspec
        self.save()