本文整理汇总了Python中models.Manifest.read方法的典型用法代码示例。如果您正苦于以下问题:Python Manifest.read方法的具体用法?Python Manifest.read怎么用?Python Manifest.read使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类models.Manifest
的用法示例。
在下文中一共展示了Manifest.read方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: detail
# 需要导入模块: from models import Manifest [as 别名]
# 或者: from models.Manifest import read [as 别名]
def detail(request, manifest_name):
if request.method == 'POST':
if not request.user.has_perm('reports.change_machine'):
return HttpResponse(json.dumps('error'))
if request.is_ajax():
json_data = json.loads(request.raw_post_data)
if json_data:
manifest_detail = Manifest.read(manifest_name)
for key in json_data.keys():
manifest_detail[key] = json_data[key]
Manifest.write(manifest_name, manifest_detail,
request.user)
return HttpResponse(json.dumps('success'))
if request.method == 'GET':
manifest = Manifest.read(manifest_name)
valid_install_items = Manifest.getValidInstallItems(manifest_name)
valid_catalogs = Catalog.list()
valid_manifest_names = Manifest.list()
manifest_user = manifest.get(MANIFEST_USERNAME_KEY, '')
c = RequestContext(request,
{'manifest_name': manifest_name.replace(':', '/'),
'manifest_user': manifest_user,
'manifest_user_is_editable': MANIFEST_USERNAME_IS_EDITABLE,
'manifest': manifest,
'valid_install_items': valid_install_items,
'valid_catalogs': valid_catalogs,
'valid_manifest_names': valid_manifest_names,
'user': request.user,
'page': 'manifests'})
c.update(csrf(request))
return render_to_response('manifests/detail.html', c)
示例2: index
# 需要导入模块: from models import Manifest [as 别名]
# 或者: from models.Manifest import read [as 别名]
def index(request, manifest_name=None):
if request.method == 'GET':
manifest_names = Manifest.list()
available_sections = ['catalogs',
'included_manifests',
'managed_installs',
'managed_uninstalls',
'managed_updates',
'optional_installs']
section = request.GET.get('section', 'manifest_name')
findtext = request.GET.get('findtext', '')
#sort = request.GET.get('sort', 'name')
if findtext:
filtered_names = []
if section == 'manifest_name':
for name in manifest_names:
basename = os.path.basename(name)
if fnmatch.fnmatch(basename, findtext):
filtered_names.append(name)
elif section == 'user_name':
for name in manifest_names:
manifest = Manifest.read(name)
if manifest:
username = manifest.get(MANIFEST_USERNAME_KEY, '')
if fnmatch.fnmatch(username, findtext):
filtered_names.append(name)
else:
for name in manifest_names:
manifest = Manifest.read(name)
if manifest:
for item in manifest.get(section, []):
if fnmatch.fnmatch(item, findtext):
filtered_names.append(name)
break
manifest_names = filtered_names
manifest_list = getManifestInfo(manifest_names)
username = None
manifest = None
if manifest_name:
manifest = Manifest.read(manifest_name)
username = manifest.get(MANIFEST_USERNAME_KEY)
manifest_name = manifest_name.replace(':', '/')
c = RequestContext(request,
{'manifest_list': manifest_list,
'section': section,
'findtext': findtext,
'available_sections': available_sections,
'manifest_name': manifest_name,
'manifest_user': username,
'manifest': manifest,
'user': request.user,
'page': 'manifests'})
return render_to_response('manifests/index.html', c)
示例3: detail
# 需要导入模块: from models import Manifest [as 别名]
# 或者: from models.Manifest import read [as 别名]
def detail(request, manifest_name):
if request.method == 'POST':
if not request.user.has_perm('manifests.change_manifests'):
return HttpResponse(json.dumps('error'))
if request.is_ajax():
json_data = json.loads(request.body)
if json_data:
manifest_detail = Manifest.read(manifest_name)
for key in json_data.keys():
manifest_detail[key] = json_data[key]
Manifest.write(manifest_name, manifest_detail,
request.user)
return HttpResponse(json.dumps('success'))
if request.method == 'GET':
if not request.user.has_perm('manifests.can_view_manifests'):
return HttpResponse(json.dumps('error'))
manifest = Manifest.read(manifest_name)
#valid_install_items = Manifest.getValidInstallItems(manifest_name)
install_items = Manifest.getInstallItemNames(manifest_name)
valid_install_items = (install_items['suggested'] +
install_items['updates'] +
install_items['with_version'])
suggested_install_items = install_items['suggested']
valid_catalogs = Catalog.list()
valid_manifest_names = Manifest.list()
autocomplete_data = json.dumps({
'items': install_items['suggested'],
'catalogs': valid_catalogs,
'manifests': valid_manifest_names
})
manifest_user = manifest.get(MANIFEST_USERNAME_KEY, '')
c = RequestContext(request,
{'manifest_name': manifest_name.replace(':', '/'),
'manifest_user': manifest_user,
'manifest_user_is_editable': MANIFEST_USERNAME_IS_EDITABLE,
'manifest': manifest,
'valid_install_items': valid_install_items,
'install_items': install_items,
'valid_catalogs': valid_catalogs,
'valid_manifest_names': valid_manifest_names,
'autocomplete_data': autocomplete_data,
'user': request.user,
'page': 'manifests'})
c.update(csrf(request))
return render_to_response('manifests/detail.html', c)
示例4: getManifestInfo
# 需要导入模块: from models import Manifest [as 别名]
# 或者: from models.Manifest import read [as 别名]
def getManifestInfo(manifest_names):
manifest_list = []
for name in manifest_names:
m_dict = {}
m_dict['name'] = name
manifest = Manifest.read(name)
m_dict['user'] = manifest.get(MANIFEST_USERNAME_KEY, '')
manifest_list.append(m_dict)
return manifest_list
示例5: detail
# 需要导入模块: from models import Manifest [as 别名]
# 或者: from models.Manifest import read [as 别名]
def detail(request, manifest_path):
if request.method == 'GET':
print "Got read request for %s" % manifest_path
manifest = Manifest.read(manifest_path)
#autocomplete_data = Manifest.getAutoCompleteData(manifest_path)
if manifest is None:
raise Http404("%s does not exist" % manifest_path)
c = {'plist_text': manifest,
'pathname': manifest_path}
return render(request, 'manifests/detail.html', context=c)
if request.method == 'POST':
# could be PUT, POST, or DELETE
if request.META.has_key('HTTP_X_METHODOVERRIDE'):
http_method = request.META['HTTP_X_METHODOVERRIDE']
if http_method.lower() == 'delete':
print "Got delete request for %s" % manifest_path
if not request.user.has_perm('manifest.delete_manifestfile'):
raise PermissionDenied
Manifest.delete(manifest_path, request.user)
return HttpResponse(
json.dumps('success'), content_type='application/json')
elif http_method.lower() == 'put':
# regular POST (update/change)
print "Got write request for %s" % manifest_path
if not request.user.has_perm('manifest.change_manifestfile'):
raise PermissionDenied
if request.is_ajax():
json_data = json.loads(request.body)
if json_data and 'plist_data' in json_data:
plist_data = json_data['plist_data'].encode('utf-8')
Manifest.write(
json_data['plist_data'], manifest_path,
request.user)
return HttpResponse(
json.dumps('success'),
content_type='application/json')
else:
print "Got unknown HTTP_X_METHODOVERRIDE for %s: %s" % (
manifest_path, http_method)
else:
# true POST request; create new resource
print "Got create request for %s" % manifest_path
try:
json_data = json.loads(request.body)
except ValueError:
json_data = None
if json_data and 'plist_data' in json_data:
plist_data = json_data['plist_data'].encode('utf-8')
Manifest.write(
json_data['plist_data'], manifest_path,
request.user)
else:
plist_data = Manifest.new(manifest_path, request.user)
c = {'plist_text': plist_data,
'pathname': manifest_path,}
return render(request, 'manifests/detail.html', context=c)
示例6: detail
# 需要导入模块: from models import Manifest [as 别名]
# 或者: from models.Manifest import read [as 别名]
def detail(request, manifest_name):
if request.method == "POST":
if not request.user.has_perm("reports.change_machine"):
return HttpResponse(json.dumps("error"))
if request.is_ajax():
json_data = json.loads(request.body)
if json_data:
manifest_detail = Manifest.read(manifest_name)
for key in json_data.keys():
manifest_detail[key] = json_data[key]
Manifest.write(manifest_name, manifest_detail, request.user)
return HttpResponse(json.dumps("success"))
if request.method == "GET":
manifest = Manifest.read(manifest_name)
# valid_install_items = Manifest.getValidInstallItems(manifest_name)
install_items = Manifest.getInstallItemNames(manifest_name)
valid_install_items = install_items["suggested"] + install_items["updates"] + install_items["with_version"]
suggested_install_items = install_items["suggested"]
valid_catalogs = Catalog.list()
valid_manifest_names = Manifest.list()
autocomplete_data = json.dumps(
{"items": install_items["suggested"], "catalogs": valid_catalogs, "manifests": valid_manifest_names}
)
manifest_user = manifest.get(MANIFEST_USERNAME_KEY, "")
c = RequestContext(
request,
{
"manifest_name": manifest_name.replace(":", "/"),
"manifest_user": manifest_user,
"manifest_user_is_editable": MANIFEST_USERNAME_IS_EDITABLE,
"manifest": manifest,
"valid_install_items": valid_install_items,
"install_items": install_items,
"valid_catalogs": valid_catalogs,
"valid_manifest_names": valid_manifest_names,
"autocomplete_data": autocomplete_data,
"user": request.user,
"page": "manifests",
},
)
c.update(csrf(request))
return render_to_response("manifests/detail.html", c)
示例7: index
# 需要导入模块: from models import Manifest [as 别名]
# 或者: from models.Manifest import read [as 别名]
def index(request, manifest_name=None):
if request.method == 'GET':
manifest_names = Manifest.list()
available_sections = ['catalogs',
'included_manifests',
'managed_installs',
'managed_uninstalls',
'managed_updates',
'optional_installs']
section = request.GET.get('section', 'manifest_name')
findtext = request.GET.get('findtext', '')
sort = request.GET.get('sort', 'name')
manifest_list = getManifestInfo(manifest_names)
username = None
manifest = None
git_enabled = None
if GIT:
git_enabled = GIT
git_branching_enabled = None
if GIT_BRANCHING:
git_branching_enabled = GIT_BRANCHING
# option to show the actual branch. It takes a toll on loading speed though
# git_branch = Manifest.getGitBranch()
manifest_list_json = list()
for item in manifest_list:
manifest_list_json.append(item['name'])
manifest_list_json = json.dumps(manifest_list_json)
if manifest_name:
manifest = Manifest.read(manifest_name)
username = manifest.get(MANIFEST_USERNAME_KEY)
manifest_name = manifest_name.replace(':', '/')
c = RequestContext(request,
{'manifest_list': manifest_list,
'manifest_list_json': manifest_list_json,
'section': section,
'findtext': findtext,
'available_sections': available_sections,
'manifest_name': manifest_name,
'manifest_user': username,
'manifest': manifest,
'git_enabled': git_enabled,
'git_branching_enabled': git_branching_enabled,
'user': request.user,
'page': 'manifests'})
return render_to_response('manifests/index.html', c)
示例8: index
# 需要导入模块: from models import Manifest [as 别名]
# 或者: from models.Manifest import read [as 别名]
def index(request, manifest_name=None):
if request.method == 'GET':
manifest_names = Manifest.list()
available_sections = ['catalogs',
'included_manifests',
'managed_installs',
'managed_uninstalls',
'managed_updates',
'optional_installs']
section = request.GET.get('section', 'manifest_name')
findtext = request.GET.get('findtext', '')
sort = request.GET.get('sort', 'name')
manifest_list = getManifestInfo(manifest_names)
username = None
manifest = None
manifest_list_josn = list()
for item in manifest_list:
manifest_list_josn.append(item['name'])
manifest_list_josn = json.dumps(manifest_list_josn)
if manifest_name:
manifest = Manifest.read(manifest_name)
username = manifest.get(MANIFEST_USERNAME_KEY)
manifest_name = manifest_name.replace(':', '/')
c = RequestContext(request,
{'manifest_list': manifest_list,
'manifest_list_josn': manifest_list_josn,
'section': section,
'findtext': findtext,
'available_sections': available_sections,
'manifest_name': manifest_name,
'manifest_user': username,
'manifest': manifest,
'user': request.user,
'page': 'manifests'})
return render_to_response('manifests/index.html', c)
示例9: index
# 需要导入模块: from models import Manifest [as 别名]
# 或者: from models.Manifest import read [as 别名]
def index(request, manifest_name=None):
if request.method == "GET":
manifest_names = Manifest.list()
available_sections = [
"catalogs",
"included_manifests",
"managed_installs",
"managed_uninstalls",
"managed_updates",
"optional_installs",
]
section = request.GET.get("section", "manifest_name")
findtext = request.GET.get("findtext", "")
# sort = request.GET.get('sort', 'name')
if findtext:
filtered_names = []
if section == "manifest_name":
for name in manifest_names:
basename = os.path.basename(name)
if fnmatch.fnmatch(basename, findtext):
filtered_names.append(name)
elif section == "user_name":
for name in manifest_names:
manifest = Manifest.read(name)
if manifest:
username = manifest.get(MANIFEST_USERNAME_KEY, "")
if fnmatch.fnmatch(username, findtext):
filtered_names.append(name)
else:
for name in manifest_names:
manifest = Manifest.read(name)
if manifest:
for item in manifest.get(section, []):
if fnmatch.fnmatch(item, findtext):
filtered_names.append(name)
break
manifest_names = filtered_names
manifest_list = getManifestInfo(manifest_names)
username = None
manifest = None
if manifest_name:
manifest = Manifest.read(manifest_name)
username = manifest.get(MANIFEST_USERNAME_KEY)
manifest_name = manifest_name.replace(":", "/")
c = RequestContext(
request,
{
"manifest_list": manifest_list,
"section": section,
"findtext": findtext,
"available_sections": available_sections,
"manifest_name": manifest_name,
"manifest_user": username,
"manifest": manifest,
"user": request.user,
"page": "manifests",
},
)
return render_to_response("manifests/index.html", c)
示例10: detail
# 需要导入模块: from models import Manifest [as 别名]
# 或者: from models.Manifest import read [as 别名]
def detail(request, manifest_name):
if request.method == 'POST':
if not request.user.has_perm('manifests.change_manifests'):
return HttpResponse(json.dumps('error'))
if request.is_ajax():
json_data = json.loads(request.body)
if json_data:
manifest_detail = Manifest.read(manifest_name)
for key in json_data.keys():
manifest_detail[key] = json_data[key]
Manifest.write(manifest_name, manifest_detail,
request.user)
logger.info("ManifestWrite instigated.")
return HttpResponse(json.dumps('success'))
if request.method == 'GET':
if not request.user.has_perm('manifests.can_view_manifests'):
return HttpResponse(json.dumps('error'))
manifest = Manifest.read(manifest_name)
#valid_install_items = Manifest.getValidInstallItems(manifest_name)
install_items = Manifest.getInstallItemNames(manifest_name)
valid_install_items = (install_items['suggested'] +
install_items['updates'] +
install_items['with_version'])
suggested_install_items = install_items['suggested']
valid_catalogs = Catalog.list()
valid_manifest_names = Manifest.list()
autocomplete_data = json.dumps({
'items': install_items['suggested'],
'catalogs': valid_catalogs,
'manifests': valid_manifest_names
})
manifest_user = manifest.get(MANIFEST_USERNAME_KEY, '')
manifest_restriction = manifest.get(MANIFEST_RESTRICTION_KEY, '')
user_groups = Group.objects.values_list('name', flat=True)
if manifest_restriction:
manifest_restriction_is_editable = None
if request.user.is_superuser:
manifest_restriction_is_editable = 'yes'
elif request.user.is_staff and 'staff' in manifest_restriction:
manifest_restriction_is_editable = 'yes'
else:
for item in manifest_restriction:
if Manifest.can_edit_restricted_manifest(request.user, item):
manifest_restriction_is_editable = 'yes'
else:
manifest_restriction_is_editable = 'unrestricted'
git_branching_enabled = None
if GIT_BRANCHING:
git_branching_enabled = GIT_BRANCHING
c = RequestContext(request,
{'manifest_name': manifest_name.replace(':', '/'),
'manifest_user': manifest_user,
'manifest_user_is_editable': MANIFEST_USERNAME_IS_EDITABLE,
'manifest': manifest,
'valid_install_items': valid_install_items,
'install_items': install_items,
'valid_catalogs': valid_catalogs,
'valid_manifest_names': valid_manifest_names,
'autocomplete_data': autocomplete_data,
'git_branching_enabled': git_branching_enabled,
'restriction_key': MANIFEST_RESTRICTION_KEY,
'manifest_restriction': manifest_restriction,
'manifest_restriction_is_editable': manifest_restriction_is_editable,
'user_groups': user_groups,
'user': request.user,
'page': 'manifests'})
c.update(csrf(request))
return render_to_response('manifests/detail.html', c)