예제 #1
0
파일: base.py 프로젝트: alunix/edid.tv
    def setUp(self):
        Manufacturer.objects.bulk_create([
            Manufacturer(name_id='TSB', name='Toshiba'),
            Manufacturer(name_id='UNK', name='Unknown'),
        ])

        edid_binary = "\x00\xFF\xFF\xFF\xFF\xFF\xFF\x00\x52\x62\x06\x02\x01" \
                      "\x01\x01\x01\xFF\x13\x01\x03\x80\x59\x32\x78\x0A\xF0" \
                      "\x9D\xA3\x55\x49\x9B\x26\x0F\x47\x4A\x21\x08\x00\x81" \
                      "\x80\x8B\xC0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01" \
                      "\x01\x01\x02\x3A\x80\x18\x71\x38\x2D\x40\x58\x2C\x45" \
                      "\x00\x76\xF2\x31\x00\x00\x1E\x66\x21\x50\xB0\x51\x00" \
                      "\x1B\x30\x40\x70\x36\x00\x76\xF2\x31\x00\x00\x1E\x00" \
                      "\x00\x00\xFC\x00\x54\x4F\x53\x48\x49\x42\x41\x2D\x54" \
                      "\x56\x0A\x20\x20\x00\x00\x00\xFD\x00\x17\x3D\x0F\x44" \
                      "\x0F\x00\x0A\x20\x20\x20\x20\x20\x20\x01\x24"

        # Parse EDID file
        edid_data = EDIDParser(edid_binary).data
        # Encode in base64
        edid_base64 = base64.b64encode(edid_binary)

        # Create EDID entry
        edid_object = EDID.create(file_base64=edid_base64, edid_data=edid_data)
        edid_object.save()
        edid_object.populate_timings_from_parser(edid_data)
        edid_object.save()

        self.edid = edid_object

        super(EDIDReadySeleniumTestCase, self).setUp()
예제 #2
0
    def setUp(self):
        super(FeedTestMixin, self).setUp()

        # Add another EDID
        edid_binary = b'\x00\xFF\xFF\xFF\xFF\xFF\xFF\x00\x04\x72\xA1\xAD\xDE' \
                      b'\xF7\x50\x83\x23\x12\x01\x03\x08\x2F\x1E\x78\xEA\xDE' \
                      b'\x95\xA3\x54\x4C\x99\x26\x0F\x50\x54\xBF\xEF\x90\xA9' \
                      b'\x40\x71\x4F\x81\x40\x8B\xC0\x95\x00\x95\x0F\x90\x40' \
                      b'\x01\x01\x21\x39\x90\x30\x62\x1A\x27\x40\x68\xB0\x36' \
                      b'\x00\xDA\x28\x11\x00\x00\x19\x00\x00\x00\xFD\x00\x38' \
                      b'\x4D\x1F\x54\x11\x00\x0A\x20\x20\x20\x20\x20\x20\x00' \
                      b'\x00\x00\xFF\x00\x4C\x41\x31\x30\x43\x30\x34\x31\x34' \
                      b'\x30\x33\x30\x0A\x00\x00\x00\xFC\x00\x41\x4C\x32\x32' \
                      b'\x31\x36\x57\x0A\x20\x20\x20\x20\x20\x00\x52'

        # Parse EDID file
        edid_data = EDIDParser(edid_binary).data
        # Encode in base64
        edid_base64 = base64.b64encode(edid_binary)

        # Create EDID entry
        edid_object = EDID.create(file_base64=edid_base64,
                                  edid_data=edid_data)
        edid_object.save()
        edid_object.populate_timings_from_parser(edid_data)
        edid_object.save()

        self.edid_2 = edid_object

        # Update first EDID
        self.edid.est_timings_720_400_70 = True
        self.edid.save()
예제 #3
0
    def setUp(self):
        super(FeedTestMixin, self).setUp()

        # Add another EDID
        edid_binary = "\x00\xFF\xFF\xFF\xFF\xFF\xFF\x00\x04\x72\xA1\xAD\xDE" \
                      "\xF7\x50\x83\x23\x12\x01\x03\x08\x2F\x1E\x78\xEA\xDE" \
                      "\x95\xA3\x54\x4C\x99\x26\x0F\x50\x54\xBF\xEF\x90\xA9" \
                      "\x40\x71\x4F\x81\x40\x8B\xC0\x95\x00\x95\x0F\x90\x40" \
                      "\x01\x01\x21\x39\x90\x30\x62\x1A\x27\x40\x68\xB0\x36" \
                      "\x00\xDA\x28\x11\x00\x00\x19\x00\x00\x00\xFD\x00\x38" \
                      "\x4D\x1F\x54\x11\x00\x0A\x20\x20\x20\x20\x20\x20\x00" \
                      "\x00\x00\xFF\x00\x4C\x41\x31\x30\x43\x30\x34\x31\x34" \
                      "\x30\x33\x30\x0A\x00\x00\x00\xFC\x00\x41\x4C\x32\x32" \
                      "\x31\x36\x57\x0A\x20\x20\x20\x20\x20\x00\x52"

        # Parse EDID file
        edid_data = EDIDParser(edid_binary).data
        # Encode in base64
        edid_base64 = base64.b64encode(edid_binary)

        # Create EDID entry
        edid_object = EDID.create(file_base64=edid_base64,
                                  edid_data=edid_data)
        edid_object.save()
        edid_object.populate_timings_from_parser(edid_data)
        edid_object.save()

        self.edid_2 = edid_object

        # Update first EDID
        self.edid.est_timings_720_400_70 = True
        self.edid.save()
예제 #4
0
파일: base.py 프로젝트: mbeijen/edid.tv
    def setUp(self):
        Manufacturer.objects.bulk_create([
            Manufacturer(name_id='TSB', name='Toshiba'),
            Manufacturer(name_id='UNK', name='Unknown'),
        ])

        edid_binary = b'\x00\xFF\xFF\xFF\xFF\xFF\xFF\x00\x52\x62\x06\x02\x01' \
                      b'\x01\x01\x01\xFF\x13\x01\x03\x80\x59\x32\x78\x0A\xF0' \
                      b'\x9D\xA3\x55\x49\x9B\x26\x0F\x47\x4A\x21\x08\x00\x81' \
                      b'\x80\x8B\xC0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01' \
                      b'\x01\x01\x02\x3A\x80\x18\x71\x38\x2D\x40\x58\x2C\x45' \
                      b'\x00\x76\xF2\x31\x00\x00\x1E\x66\x21\x50\xB0\x51\x00' \
                      b'\x1B\x30\x40\x70\x36\x00\x76\xF2\x31\x00\x00\x1E\x00' \
                      b'\x00\x00\xFC\x00\x54\x4F\x53\x48\x49\x42\x41\x2D\x54' \
                      b'\x56\x0A\x20\x20\x00\x00\x00\xFD\x00\x17\x3D\x0F\x44' \
                      b'\x0F\x00\x0A\x20\x20\x20\x20\x20\x20\x01\x24'

        # Parse EDID file
        edid_data = EDIDParser(edid_binary).data
        # Encode in base64
        edid_base64 = base64.b64encode(edid_binary)

        # Create EDID entry
        edid_object = EDID.create(file_base64=edid_base64, edid_data=edid_data)
        edid_object.save()
        edid_object.populate_timings_from_parser(edid_data)
        edid_object.save()

        self.edid = edid_object

        super(EDIDReadySeleniumTestCase, self).setUp()
예제 #5
0
    def _create_edid(flags, checksum):
        edid_binary = bytearray(
            [0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x52,
             0x62, 0x06, 0x02, 0x01, 0x01, 0x01, 0x01, 0xFF, 0x13,
             0x01, 0x03, 0x80, 0x59, 0x32, 0x78, 0x0A, 0xF0, 0x9D,
             0xA3, 0x55, 0x49, 0x9B, 0x26, 0x0F, 0x47, 0x4A, 0x21,
             0x08, 0x00, 0x81, 0x80, 0x8B, 0xC0, 0x01, 0x01, 0x01,
             0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
             0x02, 0x3A, 0x80, 0x18, 0x71, 0x38, 0x2D, 0x40, 0x58,
             0x2C, 0x45, 0x00, 0x76, 0xF2, 0x31, 0x00, 0x00, 0x1E,
             0x66, 0x21, 0x50, 0xB0, 0x51, 0x00, 0x1B, 0x30, 0x40,
             0x70, 0x36, 0x00, 0x76, 0xF2, 0x31, 0x00, 0x00, 0x1E,
             0x00, 0x00, 0x00, 0xFC, 0x00, 0x54, 0x4F, 0x53, 0x48,
             0x49, 0x42, 0x41, 0x2D, 0x54, 0x56, 0x0A, 0x20, 0x20,
             0x00, 0x00, 0x00, 0xFD, 0x00, 0x17, 0x3D, 0x0F, 0x44,
             0x0F, 0x00, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
             0x01, 0x24])

        # Change flags and checksum
        edid_binary[71] = flags
        edid_binary[127] = checksum

        edid_data = EDIDParser(edid_binary).data

        edid_object = EDID.create(file_base64='', edid_data=edid_data)
        # Save the entry
        edid_object.save()
        # Add timings
        edid_object.populate_timings_from_parser(edid_data)
        # Save the updated entry
        edid_object.save()

        return edid_object
예제 #6
0
파일: views.py 프로젝트: timvideos/edid.tv
    def get_object(self, queryset=None):
        """
        Returns EDID versioned instance based on edid_pk and revision_pk.
        Injects timings sets as attributes to EDID object.

        We can't use RelaltedManager to get versioned timings, instead we store
        timings in EDID object attributes.
        """

        edid_pk = self.kwargs.get('edid_pk', None)
        revision_pk = self.kwargs.get('revision_pk', None)

        # Get version based on edid_pk and revision_pk or return 404.
        version = Version.objects.get_for_object_reference(EDID, edid_pk) \
                         .filter(revision__pk=revision_pk)

        try:
            version = version.get()
        except version.model.DoesNotExist:
            raise Http404()

        # Assign EDID instance to edid
        edid = EDID(**version.field_dict)

        # Flag EDID instance as revision
        edid.is_revision = True

        # Get set of all versions (related objects) in the revision
        revision_versions = version.revision.version_set.all()

        # Split timings by type
        standardtimings = []
        detailedtimings = []

        for related_version in revision_versions:
            if related_version.content_type.model_class() == StandardTiming:
                standardtimings.append(StandardTiming(**related_version.
                                                      field_dict))
            elif related_version.content_type.model_class() == DetailedTiming:
                detailedtimings.append(DetailedTiming(**related_version.
                                                      field_dict))

        edid.standardtimings = standardtimings
        edid.detailedtimings = detailedtimings

        # Return EDID instance
        return edid
예제 #7
0
    def _process_edid(self, edid_data):
        edid_object = EDID.create(file_base64='', edid_data=edid_data)
        # Save the entry
        edid_object.save()
        # Add timings
        edid_object.populate_timings_from_parser(edid_data)
        # Save the updated entry
        edid_object.save()

        return edid_object
예제 #8
0
    def _process_edid(edid_data):
        edid_object = EDID.create(file_base64='', edid_data=edid_data)
        # Save the entry
        edid_object.save()
        # Add timings
        edid_object.populate_timings_from_parser(edid_data)
        # Save the updated entry
        edid_object.save()

        return edid_object
예제 #9
0
    def setUp(self):
        super(EDIDTestMixin, self).setUp()

        Manufacturer.objects.bulk_create([
            Manufacturer(name_id='TSB', name='Toshiba'),
            Manufacturer(name_id='UNK', name='Unknown'),
        ])

        # Parse EDID file
        edid_data = EDIDParser(self._edid_binary).data
        # Encode in base64
        edid_base64 = base64.b64encode(self._edid_binary)

        # Create EDID entry
        edid_object = EDID.create(file_base64=edid_base64, edid_data=edid_data)
        edid_object.save()
        edid_object.populate_timings_from_parser(edid_data)
        edid_object.save()

        self.edid = edid_object
예제 #10
0
파일: views.py 프로젝트: timvideos/edid.tv
    def form_valid(self, form):
        # Create EDID entry
        edid_object = EDID.create(file_base64=form.edid_base64,
                                  edid_data=form.edid_data)

        # Set the user
        if self.request.user.is_authenticated:
            edid_object.user = self.request.user

        # Set revision comment
        reversion.set_comment('EDID parsed.')

        # Save the entry
        edid_object.save()
        # Add timings
        edid_object.populate_timings_from_parser(form.edid_data)
        # Save the updated entry
        edid_object.save()

        return HttpResponseRedirect(reverse('edid-detail',
                                            kwargs={'pk': edid_object.pk}))
예제 #11
0
파일: base.py 프로젝트: timvideos/edid.tv
    def setUp(self):
        super(EDIDTestMixin, self).setUp()

        Manufacturer.objects.bulk_create([
            Manufacturer(name_id='TSB', name='Toshiba'),
            Manufacturer(name_id='UNK', name='Unknown'),
        ])

        # Parse EDID file
        edid_data = EDIDParser(self._edid_binary).data
        # Encode in base64
        edid_base64 = base64.b64encode(self._edid_binary)

        # Create EDID entry
        edid_object = EDID.create(file_base64=edid_base64,
                                  edid_data=edid_data)
        edid_object.save()
        edid_object.populate_timings_from_parser(edid_data)
        edid_object.save()

        self.edid = edid_object
예제 #12
0
파일: views.py 프로젝트: alunix/edid.tv
    def form_valid(self, form):
        # Create EDID entry
        edid_object = EDID.create(file_base64=form.edid_base64,
                                  edid_data=form.edid_data)

        # Set the user
        if self.request.user.is_authenticated():
            edid_object.user = self.request.user

        # Save the entry
        edid_object.save()
        # Add timings
        edid_object.populate_timings_from_parser(form.edid_data)
        # Save the updated entry
        edid_object.save()

        # Set revision comment
        reversion.set_comment('EDID parsed.')

        return HttpResponseRedirect(
            reverse('edid-detail', kwargs={'pk': edid_object.pk}))
예제 #13
0
파일: views.py 프로젝트: alunix/edid.tv
    def _create_edid(self, edid_base64, edid_data):
        # Override RevisionMiddleware
        # RevisionMiddleware creates a revision per request,
        # we want a revision per EDID object created
        with reversion.create_revision(manage_manually=True):
            # Create EDID entry
            edid_object = EDID.create(file_base64=edid_base64,
                                      edid_data=edid_data)
            # Save the entry
            edid_object.save()

            # Add timings
            edid_object.populate_timings_from_parser(edid_data)
            # Save the updated entry
            edid_object.save()

            # Set revision comment
            reversion.set_comment('EDID parsed.')
            # Create revision for EDID
            reversion.default_revision_manager.save_revision([edid_object])

            self.edid_list.append(edid_object)
예제 #14
0
파일: views.py 프로젝트: alunix/edid.tv
    def _create_edid(self, edid_base64, edid_data):
        # Override RevisionMiddleware
        # RevisionMiddleware creates a revision per request,
        # we want a revision per EDID object created
        with reversion.create_revision(manage_manually=True):
            # Create EDID entry
            edid_object = EDID.create(file_base64=edid_base64,
                                      edid_data=edid_data)
            # Save the entry
            edid_object.save()

            # Add timings
            edid_object.populate_timings_from_parser(edid_data)
            # Save the updated entry
            edid_object.save()

            # Set revision comment
            reversion.set_comment('EDID parsed.')
            # Create revision for EDID
            reversion.default_revision_manager.save_revision([edid_object])

            self.edid_list.append(edid_object)