示例#1
0
    def extract_record(self, record, values):
        fields = {
            'contact': lambda r: extract_value(r, 'contact', 'name'),
            'contact_email': lambda r: r.contact_email,
            'contact_phone': lambda r: r.contact_phone,
            'communication_type': lambda r: r.contact_type,
            'created_on': lambda r: r.created_on,
            'created_by': lambda r: extract_value(r, 'created_by', 'email'),
            'date_time': lambda r: r.date_time,
            'job_applications': lambda r: r.job_applications,
            'job_hires': lambda r: r.job_hires,
            'job_id': lambda r: r.job_id,
            'job_interviews': lambda r: r.job_interviews,
            'last_action_time': lambda r: r.last_action_time,
            'length': lambda r: r.length,
            'location': lambda r: r.location,
            'notes': lambda r: self.normalize_html(r.notes),
            'partner': lambda r: extract_value(r, 'partner', 'name'),
            'subject': lambda r: r.subject,
            'tags': lambda r: extract_tags(r.tags),
        }

        if values:
            return_values = values
        else:
            return_values = fields.keys()

        return {
            k: v(record)
            for k, v in fields.iteritems() if k in return_values
        }
示例#2
0
    def extract_record(self, record, values):
        """Translate from a query set record to a dictionary."""
        fields = {
            'name':
            lambda r: r.name,
            'partner':
            lambda r: extract_value(r, 'partner', 'name'),
            'email':
            lambda r: r.email,
            'phone':
            lambda r: r.phone,
            'notes':
            lambda r: r.notes,
            'locations':
            lambda r: [{
                'city': l.city,
                'state': l.state
            } for l in r.locations.all()],
            'date':
            lambda r: r.last_action_time,
            'tags':
            lambda r: extract_tags(r.tags.all()),
        }

        if values:
            return_values = values
        else:
            return_values = fields.keys()

        return {
            k: v(record)
            for k, v in fields.iteritems() if k in return_values
        }
示例#3
0
    def extract_record(self, record, values):
        """Translate from a query set record to a dictionary."""
        fields = {
            'name': lambda r: r.name,
            'partner': lambda r: extract_value(r, 'partner', 'name'),
            'email': lambda r: r.email,
            'phone': lambda r: r.phone,
            'notes': lambda r: r.notes,
            'locations': lambda r: [
                {'city': l.city, 'state': l.state}
                for l in r.locations.all()
            ],
            'date': lambda r: r.last_action_time,
            'tags': lambda r: extract_tags(r.tags.all()),
        }

        if values:
            return_values = values
        else:
            return_values = fields.keys()

        return {
            k: v(record)
            for k, v in fields.iteritems()
            if k in return_values
        }
示例#4
0
    def extract_record(self, record, values):
        fields = {
            'contact': lambda r: extract_value(r, 'contact', 'name'),
            'contact_email': lambda r: r.contact_email,
            'contact_phone': lambda r: r.contact_phone,
            'communication_type': lambda r: r.contact_type,
            'created_on': lambda r: r.created_on,
            'created_by': lambda r: extract_value(r, 'created_by', 'email'),
            'date_time': lambda r: r.date_time,
            'job_applications': lambda r: r.job_applications,
            'job_hires': lambda r: r.job_hires,
            'job_id': lambda r: r.job_id,
            'job_interviews': lambda r: r.job_interviews,
            'last_action_time': lambda r: r.last_action_time,
            'length': lambda r: r.length,
            'location': lambda r: r.location,
            'notes': lambda r: self.normalize_html(r.notes),
            'partner': lambda r: extract_value(r, 'partner', 'name'),
            'subject': lambda r: r.subject,
            'tags': lambda r: extract_tags(r.tags),
        }

        if values:
            return_values = values
        else:
            return_values = fields.keys()

        return {
            k: v(record)
            for k, v in fields.iteritems()
            if k in return_values
        }
    def test_extract_tag_list(self):
        """Should grab only the names from the list."""
        tag_list = [
            MockTag(1, 'TagA', '#aaaaaa'),
            MockTag(2, 'TagB', '#bbbbbb'),
        ]

        result = extract_tags(MockQuerySet(data=tag_list))

        expected = [
            {'id': 1, 'name': 'TagA', 'hex_color': '#aaaaaa'},
            {'id': 2, 'name': 'TagB', 'hex_color': '#bbbbbb'},
        ]
        self.assertEqual(expected, result)
示例#6
0
文件: contacts.py 项目: kepinq/MyJobs
 def extract_record(self, record):
     """Translate from a query set record to a dictionary."""
     return {
         'name': record.name,
         'partner': record.partner.name,
         'email': record.email,
         'phone': record.phone,
         'notes': record.notes,
         'locations': [
             {'city': l.city, 'state': l.state}
             for l in record.locations.all()
         ],
         'date': record.last_action_time,
         'tags': extract_tags(record.tags.all()),
     }
示例#7
0
 def extract_record(self, record):
     return {
         'contact': record.contact.name,
         'contact_email': record.contact_email,
         'contact_phone': record.contact_phone,
         'communication_type': record.contact_type,
         'created_on': record.created_on,
         'created_by': self.extract_user_email(record.created_by),
         'date_time': record.date_time,
         'job_applications': record.job_applications,
         'job_hires': record.job_hires,
         'job_id': record.job_id,
         'job_interviews': record.job_interviews,
         'last_action_time': record.last_action_time,
         'length': record.length,
         'location': record.location,
         'notes': record.notes,
         'partner': record.partner.name,
         'subject': record.subject,
         'tags': extract_tags(record.tags.all()),
     }
    def test_extract_tag_list(self):
        """Should grab only the names from the list."""
        tag_list = [
            MockTag(1, 'TagA', '#aaaaaa'),
            MockTag(2, 'TagB', '#bbbbbb'),
        ]

        result = extract_tags(MockQuerySet(data=tag_list))

        expected = [
            {
                'id': 1,
                'name': 'TagA',
                'hex_color': '#aaaaaa'
            },
            {
                'id': 2,
                'name': 'TagB',
                'hex_color': '#bbbbbb'
            },
        ]
        self.assertEqual(expected, result)