def projects(request, project_id=None): if project_id: project = get_object_or_404(Project, id=project_id) identity_items = OrderedDict({ u'Gérant': project.contact_name, u'Personnel': project.workers, u'Année de création': project.creation_date, u'Structure': project.structure }) if Event.objects.filter(project=project).exists(): events = Event.objects.filter(project=project) else: events = [] return render( request, 'presentation/project.html', { u'project': project, u'identity_items': identity_items, u'events_glan': events }) else: projects = serializers.serialize("json", Project.objects.all()) return JsonResponse(projects, safe=False)
def process_children(self, request, parameters, arguments, include=None): """ Allows to process the children questions for the current question """ if include is None: include = [] children = {} report = arguments['report'] children_parameters = {} if 'children' in parameters and parameters['children'] is not None: children_parameters = OrderedDict(parameters['children']) for child, value in children_parameters.items(): if not include or child in include: children[child] = { 'state': 'ok', 'text': question_loader.process_questions( request, report.report.pk, value, view_type=self.view_type, reportbyproj=report) }
def get_dgrid_json(self, total_page, current_page, all_data_count, aggregation=False): json_dict = OrderedDict({ "total": total_page, "page": current_page, "recordsTotal": all_data_count, "recordsFiltered": all_data_count }) json_rows = [] for row in self.rows: row_fields = row.get_cells_dict() row_fields.update({'DT_RowId': row_fields.get('id')}) json_rows.append(row_fields) json_dict['data'] = json_rows footer_row = {} i = 0 for cell in self.header: footer_row[cell.name] = self.header.sums[i] i += 1 footer_row.update({self.header.cells[1].name: u"مجموع:"}) if aggregation: json_dict["userdata"] = footer_row res = json.dumps(json_dict) return res
def get_menu_entry_categories(request): # noqa (C901) menu_categories = OrderedDict() # Update main menu from provides main_menu = extend_main_menu(MAIN_MENU) menu_category_icons = {} for menu_item in main_menu: identifier = menu_item["identifier"] icon = menu_item["icon"] menu_categories[identifier] = _MenuCategory( identifier=identifier, name=menu_item["title"], icon=icon, ) menu_category_icons[identifier] = icon modules = list(get_modules()) for module in modules: menu_category_icons.update( (force_text(key), force_text(value)) for (key, value) in module.get_menu_category_icons().items() if key not in menu_category_icons) all_categories = set() for module in modules: if get_missing_permissions(request.user, module.get_required_permissions()): continue for entry in module.get_menu_entries(request=request) or (): category = menu_categories.get(entry.category) if not category: category_identifier = force_text(entry.category or module.name) category = menu_categories.get(category_identifier) if not category: menu_categories[ category_identifier] = category = _MenuCategory( identifier=category_identifier, name=category_identifier, icon=menu_category_icons.get( category_identifier, "fa fa-circle"), ) category.entries.append(entry) all_categories.add(category) # clean categories that eventually have no children or entries categories = [] for cat in all_categories: if not cat.entries: continue categories.append(cat) clean_categories = [ c for menu_identifier, c in six.iteritems(menu_categories) if c in categories ] return customize_menu(clean_categories, request)
def activity_setting(request, template='game/activity_setting.html'): server_id = int(request.REQUEST.get('server_id', '') or 0) is_read = request.REQUEST.get('is_read', '') model = get_activity_model(request) default_params = model.get_activity_protocol_class().get_default_msg() charge_dict = DictDefine.get_dict_for_key("recharge_type") charge_dict = OrderedDict( sorted(charge_dict.items(), key=lambda t: int(t[0]))) return render_to_response(template, locals())
def get_service_handler(base_url, proxy_base=None, service_type=enumerations.AUTO): """Return the appropriate remote service handler for the input URL. If the service type is not explicitly passed in it will be guessed from """ handlers = OrderedDict({ enumerations.WMS: { "OWS": True, "handler": WmsServiceHandler }, enumerations.GN_WMS: { "OWS": True, "handler": GeoNodeServiceHandler }, # enumerations.WFS: {"OWS": True, "handler": ServiceHandlerBase}, # enumerations.TMS: {"OWS": False, "handler": ServiceHandlerBase}, enumerations.REST_MAP: { "OWS": False, "handler": ArcMapServiceHandler }, enumerations.REST_IMG: { "OWS": False, "handler": ArcImageServiceHandler }, # enumerations.CSW: {"OWS": False, "handler": ServiceHandlerBase}, # enumerations.HGL: {"OWS": True, "handler": ServiceHandlerBase}, # TODO: verify this # enumerations.OGP: {"OWS": False, "handler": ServiceHandlerBase}, # TODO: verify this }) if service_type in (enumerations.AUTO, enumerations.OWS): if service_type == enumerations.AUTO: to_check = handlers.keys() else: to_check = [k for k, v in handlers.items() if v["OWS"]] for type_ in to_check: logger.debug("Checking {}...".format(type_)) try: service = get_service_handler(base_url, type_) except Exception: pass # move on to the next service type else: break else: raise RuntimeError("Could not parse service {!r} with any of the " "available service handlers".format(base_url)) else: handler = handlers.get(service_type, {}).get("handler") try: service = handler(base_url) except Exception: logger.exception( msg="Could not parse service {!r}".format(base_url)) raise return service
def near(self, *args, **kwargs): queryset = super(HaversineLocationManager, self).near(*args, **kwargs) lat, lon, dis = self._format_params(kwargs.get('latitude', 0), kwargs.get('longitude', 0), kwargs.get('distance_range', 0)) queryset = queryset.extra( select=OrderedDict([('distance', 'geodistance(%s, %s, geo_latitude, geo_longitude)')]), select_params=(lat, lon), where=('geodistance(%s, %s, geo_latitude, geo_longitude) <= %s',), params=(lat, lon, dis) ) return queryset
def listsort2(value): if isinstance(value, dict): new_dict = OrderedDict() key_list = sorted(value.keys()) for key in key_list: new_dict[key] = value[key] return new_dict elif isinstance(value, list): return sorted(value) else: return value listsort.is_safe = True
def delete(request, server): stats = server.stats conn = server.connection database_details = OrderedDict() if stats['status'] == 'UP': if 'key' in request.GET: key = request.GET['key'] db = request.GET.get('db', 0) return _delete_key(request, conn, db, key) else: messages.error(request, f'Server is down') return redirect('admin:redisboard_redisserver_changelist')
def _parse_zpool_status(zpool_status): x = zpool_status.strip().splitlines() pool = x[0].replace('pool: ', '').strip() data = OrderedDict() go = False group = pool subgroup = '' for line in x: if go: if not (line and line.startswith('\t')): break indent = __get_indentation(line.replace('\t', '', 1)) item = line.split()[0] if indent: if item in ('replacing', 'spare'): continue elif re.match(r'^c[0-9]', item): if subgroup not in data[group]: data[group][subgroup] = [] data[group][subgroup].append(item) else: subgroup = item else: group = item subgroup = '' data[group] = OrderedDict() elif line.strip().split() == [ 'NAME', 'STATE', 'READ', 'WRITE', 'CKSUM' ]: go = True return pool, data
def inspect(request, server): stats = server.stats conn = server.connection database_details = OrderedDict() key_details = None if stats['status'] == 'UP': if 'key' in request.GET: key = request.GET['key'] # request key parameter is of type str like: "b'asgi::group:users'" # change it by bytes type: b''asgi::group:users' if isinstance(key, str) and key.startswith("b'") and key.endswith("'"): key = str.encode(key[2:-1]) db = request.GET.get('db', 0) page = request.GET.get('page', 1) key_details = _get_key_details(conn, db, key, page) else: databases = sorted(name[2:] for name in conn.info() if name.startswith('db')) total_size = 0 for db in databases: database_details[db] = summary = _get_db_summary(server, db) total_size += summary['size'] if total_size < server.sampling_threshold: for db in databases: database_details[db].update( _get_db_details(server, db), active=True, ) elif 'db' in request.GET: db = request.GET['db'] if db in database_details: database_details[db].update( _get_db_details(server, db), active=True, ) else: return HttpResponseNotFound("Unknown database.") return render( request, "redisboard/inspect.html", { 'databases': database_details, 'key_details': key_details, 'original': server, 'stats': stats, 'app_label': 'redisboard', })
def get_quicklinks(request): quicklinks = OrderedDict() for block in QUICKLINK_ORDER: quicklinks[block] = [] for module in get_modules(): if get_missing_permissions(request.user, module.get_required_permissions()): continue for help_block in module.get_help_blocks(request, kind="quicklink"): quicklinks[help_block.category].append(help_block) links = quicklinks.copy() for block, data in six.iteritems(links): if not quicklinks[block]: quicklinks.pop(block) return quicklinks
def _replace_username_with_first_last(form): form.fields.pop("username") fields = OrderedDict() fields["first_name"] = forms.CharField(min_length=2, label=_(u"First name")) fields["last_name"] = forms.CharField(min_length=2, label=_(u"Last name")) for key, value in form.fields.iteritems(): fields[key] = value terms_url = "http://ihp-wins-dev.geo-solutions.it/terms-of-use" agreement_message = _( "I have read and agree with the " "<a href={!r} target='_blank' rel='noopener noreferrer'>" "IHP-WINS Terms of use" "<a>".format(terms_url)) fields["terms_agreement"] = forms.BooleanField(label=agreement_message) form.fields = fields
def __new__(cls, name, bases, attrs): class StaticProp(object): def __init__(self, value): self.value = value def __get__(self, obj, objtype): return self.value fields = {} labels = Labels() values = {} choices = [] # Get all the fields from parent classes. parents = [b for b in bases if isinstance(b, DjangoChoicesMeta)] for kls in parents: for field_name in kls._fields: fields[field_name] = kls._fields[field_name] # Get all the fields from this class. for field_name in attrs: val = attrs[field_name] if isinstance(val, ChoiceItem): fields[field_name] = val fields = OrderedDict(sorted(fields.items(), key=lambda x: x[1].order)) for field_name in fields: val = fields[field_name] if isinstance(val, ChoiceItem): if not val.label is None: label = val.label else: label = cls.name_clean.sub(" ", field_name) choices.append((val.value, label)) attrs[field_name] = StaticProp(val.value) setattr(labels, field_name, label) values[val.value] = label else: choices.append((field_name, val.choices)) attrs["choices"] = StaticProp(tuple(choices)) attrs["labels"] = labels attrs["values"] = values attrs["_fields"] = fields return super(DjangoChoicesMeta, cls).__new__(cls, name, bases, attrs)
def stats(self): try: conn = self.connection info = conn.info() slowlog = conn.slowlog_get() slowlog_len = conn.slowlog_len() return { 'status': 'UP', 'details': info, 'memory': "%s (peak: %s)" % (info['used_memory_human'], info.get('used_memory_peak_human', 'n/a')), 'clients': info['connected_clients'], 'brief_details': OrderedDict( prettify(k, v) for name in REDISBOARD_DETAIL_FILTERS for k, v in (info.items() if PY3 else info.iteritems()) if name.match(k)), 'slowlog': slowlog, 'slowlog_len': slowlog_len, } except redis.exceptions.ConnectionError: return { 'status': 'DOWN', 'clients': 'n/a', 'memory': 'n/a', 'details': {}, 'brief_details': {}, 'slowlog': [], 'slowlog_len': 0, } except redis.exceptions.ResponseError as exc: return { 'status': 'ERROR: %s' % exc.args, 'clients': 'n/a', 'memory': 'n/a', 'details': {}, 'brief_details': {}, 'slowlog': [], 'slowlog_len': 0, }
def inspect(request, server): stats = server.stats conn = server.connection database_details = OrderedDict() key_details = None if stats['status'] == 'UP': if 'key' in request.GET: key = request.GET['key'] db = request.GET.get('db', 0) page = request.GET.get('page', 1) key_details = _get_key_details(conn, db, key, page) else: databases = sorted(name[2:] for name in conn.info() if name.startswith('db')) total_size = 0 for db in databases: database_details[db] = summary = _get_db_summary(server, db) total_size += summary['size'] if total_size < server.sampling_threshold: for db in databases: database_details[db].update( _get_db_details(server, db), active=True, ) elif 'db' in request.GET: db = request.GET['db'] if db in database_details: database_details[db].update( _get_db_details(server, db), active=True, ) else: return HttpResponseNotFound("Unknown database.") return render( request, "redisboard/inspect.html", { 'databases': database_details, 'key_details': key_details, 'original': server, 'stats': stats, 'app_label': 'redisboard', })
def _read_data(self, coverage, subset, rangesubset): range_type = coverage.range_type # Open file filename = connect(coverage.data_items.all()[0]) root = etree.parse(filename).getroot() output_data = OrderedDict() # Read data band = range_type[0] if not rangesubset or band in rangesubset: data = map(float, root.xpath("data/value/text()")) print data, root data = data[int(subset.low):int(subset.high)] output_data[band.identifier] = data return output_data
def get_menu_entry_categories(request): menu_categories = OrderedDict() menu_category_icons = {} for identifier, category_name, icon in MENU_CATEGORIES: menu_categories[identifier] = _MenuCategory(identifier, category_name, icon) menu_category_icons[identifier] = icon modules = list(get_modules()) for module in modules: menu_category_icons.update( (force_text(key), force_text(value)) for (key, value) in module.get_menu_category_icons().items() if key not in menu_category_icons) for module in modules: if get_missing_permissions(request.user, module.get_required_permissions()): continue for entry in (module.get_menu_entries(request=request) or ()): category_identifier = entry.category category = menu_categories.get( category_identifier) if category_identifier else None if not category: category_identifier = force_text(category_identifier or module.name) category = menu_categories.get(category_identifier) if not category: menu_categories[ category_identifier] = category = _MenuCategory( identifier=category_identifier, name=category_identifier, icon=menu_category_icons.get( category_identifier, "fa fa-circle")) category.entries.append(entry) return [ c for identifier, c in six.iteritems(menu_categories) if len(c.entries) > 0 ]
def _replace_username_with_first_last(form): form.fields.pop("username") fields = OrderedDict() fields["first_name"] = forms.CharField(min_length=2, label=_(u"First name")) fields["last_name"] = forms.CharField(min_length=2, label=_(u"Last name")) for key, value in form.fields.iteritems(): fields[key] = value fields["recommendation"] = forms.CharField( min_length=2, max_length=50, required=False, label=_(u"Who recommended you IHP-WINS?"), widget=forms.TextInput(attrs={'placeholder': _("Name of the person")})) terms_url = "%s/terms-of-use" % settings.SITEURL terms_href = "<a href={!r} target='_blank' rel='noopener noreferrer'>".format( terms_url) terms_href = "%s%s%s" % (terms_href, _("IHP-WINS Terms of use"), "<a>") agreement_message = "%s %s" % (_("I have read and agree with the "), terms_href) fields["terms_agreement"] = forms.BooleanField(label=agreement_message) form.fields = fields
def get_cells_dict(self): cells_dict = OrderedDict() for cell in self.cells: cells_dict[cell.name] = cell.value return cells_dict
def get_menu_entry_categories(request): menu_categories = OrderedDict() menu_children = OrderedDict() # Update main menu from provides main_menu = extend_main_menu(MAIN_MENU) menu_category_icons = {} for menu_item in main_menu: identifier = menu_item["identifier"] icon = menu_item["icon"] menu_categories[identifier] = _MenuCategory( identifier=identifier, name=menu_item["title"], icon=icon, ) for child in menu_item["children"]: child_identifier = "%s:%s" % (identifier, child["identifier"]) child_category = _MenuCategory(child["identifier"], child["title"], None) menu_children[child_identifier] = child_category menu_categories[identifier].children.append(child_category) menu_category_icons[identifier] = icon modules = list(get_modules()) for module in modules: menu_category_icons.update( (force_text(key), force_text(value)) for (key, value) in module.get_menu_category_icons().items() if key not in menu_category_icons) all_categories = set() for module in modules: if get_missing_permissions(request.user, module.get_required_permissions()): continue for entry in (module.get_menu_entries(request=request) or ()): category_identifier = entry.category subcategory = entry.subcategory entry_identifier = "%s:%s" % ( category_identifier, subcategory) if subcategory else category_identifier menu_items = menu_children if subcategory else menu_categories category = menu_items.get(entry_identifier) if not category: category_identifier = force_text(category_identifier or module.name) category = menu_items.get(category_identifier) if not category: menu_items[category_identifier] = category = _MenuCategory( identifier=category_identifier, name=category_identifier, icon=menu_category_icons.get(category_identifier, "fa fa-circle")) category.entries.append(entry) if subcategory: parent = menu_categories.get(category_identifier) all_categories.add(parent) else: all_categories.add(category) return [ c for menu_identifier, c in six.iteritems(menu_categories) if c in all_categories ]
for model, model_admin in admin.site._registry.items(): if capfirst(model._meta.verbose_name_plural) == name: return count else: count += 1 return count def index_decorator(func): def inner(*args, **kwargs): templateresponse = func(*args, **kwargs) for app in templateresponse.context_data['app_list']: app['models'].sort(key=lambda x: find_model_index(x['name'])) return templateresponse return inner registry = OrderedDict() registry.update(admin.site._registry) admin.site._registry = registry admin.site.index = index_decorator(admin.site.index) admin.site.app_index = index_decorator(admin.site.app_index) # 用户管理类 class UserProfileAdmin(UserAdmin): fieldsets = ( (None, {'fields': ('username', 'password')}), ('Personal info', {'fields': ('first_name', 'last_name', 'email')}), ('Permissions', {'fields': ('is_active', 'is_staff', 'is_superuser', 'groups', 'user_permissions','valid_email')}), ('Important dates', {'fields': ('last_login',)}), ('Avatar',{'fields':('avatar_url','avatar_middle_thumbnall','avatar_small_thumbnall')}), )
return render_to_response( 'error.html', UTDirectContext( request, {'exception_msg': exception_msg}, defaults=defaults, document_title='Broker Error', )) # **************************************************************************** # # Display # **************************************************************************** # context = {} # this is all used for debug pda_send_dict = OrderedDict() pda_recv_dict = OrderedDict() for field in nrdpmnmn.send: pda_send_dict[field] = getattr(nrdpmnmn.send, field) for field in nrdpmnmn.recv: pda_recv_dict[field] = getattr(nrdpmnmn.recv, field) context['pda_send_dict'] = pda_send_dict context['pda_recv_dict'] = pda_recv_dict context['pda_meta_dict'] = {'envo': request.META['HTTP_SERVICE']} context['recv'] = nrdpmnmn.recv context['send'] = nrdpmnmn.send if nrdpmnmn.recv.auth_to_change == 'X': defaults = PROJECT_UTD_DEFAULTS_AUTH else:
def get_service_handler(base_url, service_type=enumerations.AUTO, headers=None): """Return the appropriate remote service handler for the input URL. If the service type is not explicitly passed in it will be guessed from """ handlers = OrderedDict({ enumerations.WMS: { "OWS": True, "handler": ExchangeWmsServiceHandler }, # enumerations.WFS: {"OWS": True, "handler": ServiceHandlerBase}, # enumerations.TMS: {"OWS": False, "handler": ServiceHandlerBase}, enumerations.REST: { "OWS": False, "handler": ExchangeMapserverServiceHandler }, # enumerations.CSW: {"OWS": False, "handler": ServiceHandlerBase}, # enumerations.HGL: {"OWS": True, "handler": ServiceHandlerBase}, # enumerations.OGP: {"OWS": False, "handler": ServiceHandlerBase}, }) if service_type in (enumerations.AUTO, enumerations.OWS): if service_type == enumerations.AUTO: to_check = handlers.keys() else: to_check = [k for k, v in handlers.items() if v["OWS"]] for type_ in to_check: logger.info("Checking {}...".format(type_)) try: service = get_service_handler(base_url, type_, headers=(headers or None)) except Exception: pass # move on to the next service type else: break else: raise RuntimeError("Could not parse service {!r} with any of the " "available service handlers".format(base_url)) else: handler = handlers.get(service_type, {}).get("handler") if (base_url.lower().startswith('https') and (callable(has_ssl_config) and has_ssl_config(base_url, via_query=True))): # has_ssl_config needs to query db, as call may be from task # worker, whose hostnameport_pattern_cache may be out of sync base_url = pki_route(base_url) logger.debug('Rewritten URL for pki proxy: {0}'.format(base_url)) bearer_header = { 'Authorization': "Bearer {0}".format(get_bearer_token(valid_time=30)) } logger.debug('Add bearer_header: {0}'.format(repr(bearer_header))) if headers and isinstance(headers, dict): headers.update(bearer_header) else: headers = bearer_header # Pass service type to pki_request view, for workarounds headers['PKI_SERVICE_TYPE'] = "{0}".format(service_type) try: service = handler(base_url, headers=headers) except Exception as e: logger.exception( msg="Could not parse service {!r}".format(base_url)) raise e return service
def safe_summary(self, encoded): algorithm, iterations, salt, hash = encoded.split('$', 3) return OrderedDict([ (_('algorithm'), 'md5'), (_('hash'), mask_hash(hash)), ])