示例#1
0
文件: views.py 项目: epodak/thermal
def save_group():
    settings = get_settings_document()
    group_dict = default_group_dict()
    if request.headers['Content-Type'] == 'application/json':
        for k in request.json.keys():
            if doc_attribute_can_be_set(k):
                group_dict[k] = request.json[k]
        save_document(group_dict)
        settings['current_group_id'] = group_dict['_id']
        save_document(settings)
        return Response(json.dumps(group_dict),
                        status=200,
                        mimetype='application/json')
示例#2
0
def save_group():
    '''
    Creates a new group record, saves it as the new current group in the settings document
    Won't let you specify _id, _rev or type
    Automatically sets settings.current_group_id to the groups id as well
    '''
    return_value = generic_save_view(args_dict=default_group_dict(),
                                     document_type='group')
    if return_value.status_code == 200:
        try:
            group_id = json.loads(return_value.data)['_id']
            settings = get_settings_document()
            settings['current_group_id'] = group_id
            save_generic(settings, 'settings')
            return return_value
        except Exception as e:
            return Response(json.dumps('error saving settings: ' + e.message),
                            status=e.status_code,
                            mimetype='application/json')
    else:
        return return_value
示例#3
0
 def test_default_group_dict_has_expected_fields(self):
     group_doc = adms.default_group_dict()
     # TODO assert the values too
     expected_fields = ['_id',
                        'merge_type',
                        'scale_type',
                        'retake_picam_pics_when_dark',
                        'email_recipients',
                        'send_email_contents',
                        'colorize_range_low',
                        'colorize_range_high',
                        'picam_brightness_threshold',
                        'capture_type',
                        'image_sources_to_delete',
                        'use_gallery',
                        'image_sources_for_gallery',
                        'button_active',
                        'type']
     for field in expected_fields:
         assert field in group_doc
     assert len(group_doc.keys()) == len(expected_fields)