本文整理汇总了Python中weblate.trans.views.helper.get_subproject函数的典型用法代码示例。如果您正苦于以下问题:Python get_subproject函数的具体用法?Python get_subproject怎么用?Python get_subproject使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了get_subproject函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: update_subproject
def update_subproject(request, project, subproject):
obj = get_subproject(request, project, subproject)
if obj.do_update(request, method=request.GET.get('method', None)):
messages.success(request, _('All repositories were updated.'))
return redirect(obj)
示例2: get_detail
def get_detail(request, project, subproject, checksum):
"""
Returns source translation detail in all languages.
"""
subproject = get_subproject(request, project, subproject)
units = Unit.objects.filter(checksum=checksum, translation__subproject=subproject)
try:
source = units[0].source_info
except IndexError:
raise Http404("Non existing unit!")
check_flags = [(CHECKS[x].ignore_string, CHECKS[x].name) for x in CHECKS]
extra_flags = [(x, EXTRA_FLAGS[x]) for x in EXTRA_FLAGS]
return render(
request,
"js/detail.html",
{
"units": units,
"source": source,
"project": subproject.project,
"next": request.GET.get("next", ""),
"priority_form": PriorityForm(initial={"priority": source.priority}),
"check_flags_form": CheckFlagsForm(initial={"flags": source.check_flags}),
"extra_flags": extra_flags,
"check_flags": check_flags,
},
)
示例3: push_subproject
def push_subproject(request, project, subproject):
obj = get_subproject(request, project, subproject)
if obj.do_push(request):
messages.success(request, _('All repositories were pushed.'))
return redirect(obj)
示例4: reset_subproject
def reset_subproject(request, project, subproject):
obj = get_subproject(request, project, subproject)
if obj.do_reset(request):
messages.success(request, _('All repositories have been reset.'))
return redirect(obj)
示例5: get_detail
def get_detail(request, project, subproject, checksum):
'''
Returns source translation detail in all languages.
'''
subproject = get_subproject(request, project, subproject)
units = Unit.objects.filter(
checksum=checksum,
translation__subproject=subproject
)
source = units[0].source_info
check_flags = [
(CHECKS[x].ignore_string, CHECKS[x].name) for x in CHECKS
]
extra_flags = [(x, EXTRA_FLAGS[x]) for x in EXTRA_FLAGS]
return render(
request,
'js/detail.html',
{
'units': units,
'source': source,
'next': request.GET.get('next', ''),
'priority_form': PriorityForm(
initial={'priority': source.priority}
),
'check_flags_form': CheckFlagsForm(
initial={'flags': source.check_flags}
),
'extra_flags': extra_flags,
'check_flags': check_flags,
}
)
示例6: reset_subproject
def reset_subproject(request, project, subproject):
obj = get_subproject(request, project, subproject)
if obj.do_reset(request):
messages.info(request, _("All repositories have been reset."))
return redirect(obj)
示例7: export_stats
def export_stats(request, project, subproject):
"""Export stats in JSON format."""
subprj = get_subproject(request, project, subproject)
data = [
trans.get_stats() for trans in subprj.translation_set.all()
]
return export_response(
request,
'stats-{0}-{1}.csv'.format(subprj.project.slug, subprj.slug),
(
'name',
'code',
'total',
'translated',
'translated_percent',
'total_words',
'translated_words',
'failing',
'failing_percent',
'fuzzy',
'fuzzy_percent',
'url_translate',
'url',
'last_change',
'last_author',
),
data
)
示例8: push_subproject
def push_subproject(request, project, subproject):
obj = get_subproject(request, project, subproject)
if obj.do_push(request):
messages.info(request, _("All repositories were pushed."))
return redirect(obj)
示例9: update_subproject
def update_subproject(request, project, subproject):
obj = get_subproject(request, project, subproject)
if obj.do_update(request):
messages.info(request, _("All repositories were updated."))
return redirect(obj)
示例10: reset_subproject
def reset_subproject(request, project, subproject):
obj = get_subproject(request, project, subproject)
if not can_reset_translation(request.user, obj.project):
raise PermissionDenied()
return perform_reset(request, obj)
示例11: show_subproject
def show_subproject(request, project, subproject):
obj = get_subproject(request, project, subproject)
last_changes = Change.objects.prefetch().filter(
translation__subproject=obj
)[:10]
new_lang_form = get_new_language_form(request, obj)(obj)
return render(
request,
'subproject.html',
{
'object': obj,
'project': obj.project,
'translations': sort_objects(obj.translation_set.enabled()),
'show_language': 1,
'reports_form': ReportsForm(),
'last_changes': last_changes,
'last_changes_url': urlencode(
{'subproject': obj.slug, 'project': obj.project.slug}
),
'new_lang_form': new_lang_form,
}
)
示例12: new_language
def new_language(request, project, subproject):
obj = get_subproject(request, project, subproject)
if not can_add_translation(request.user, obj.project):
raise PermissionDenied()
form = get_new_language_form(request, obj)(obj, request.POST)
if form.is_valid():
langs = form.cleaned_data['lang']
if isinstance(langs, string_types):
langs = [langs]
for language in Language.objects.filter(code__in=langs):
if obj.new_lang == 'contact':
notify_new_language(obj, language, request.user)
messages.success(
request,
_(
"A request for a new translation has been "
"sent to the project's maintainers."
)
)
elif obj.new_lang == 'add':
obj.add_new_language(language, request)
else:
messages.error(
request,
_('Invalid language chosen!')
)
return redirect(obj)
示例13: show_subproject
def show_subproject(request, project, subproject):
obj = get_subproject(request, project, subproject)
last_changes = Change.objects.prefetch().filter(
translation__subproject=obj
)[:10]
new_lang_form = NewLanguageForm()
return render(
request,
'subproject.html',
{
'object': obj,
'project': obj.project,
'translations': obj.translation_set.enabled(),
'show_language': 1,
'last_changes': last_changes,
'last_changes_rss': reverse(
'rss-subproject',
kwargs={'subproject': obj.slug, 'project': obj.project.slug}
),
'last_changes_url': urlencode(
{'subproject': obj.slug, 'project': obj.project.slug}
),
'new_lang_form': new_lang_form,
}
)
示例14: new_language
def new_language(request, project, subproject):
obj = get_subproject(request, project, subproject)
form = NewLanguageForm(request.POST)
if form.is_valid():
language = Language.objects.get(code=form.cleaned_data['lang'])
same_lang = obj.translation_set.filter(language=language)
if same_lang.exists():
messages.error(
request,
_('Chosen translation already exists in this project!')
)
elif obj.new_lang == 'contact':
notify_new_language(obj, language, request.user)
messages.success(
request,
_(
"A request for a new translation has been "
"sent to the project's maintainers."
)
)
elif obj.new_lang == 'add':
obj.add_new_language(language, request)
else:
messages.error(
request,
_('Failed to process new translation request!')
)
return redirect(
'subproject',
subproject=obj.slug,
project=obj.project.slug
)
示例15: git_export
def git_export(request, project, subproject, path):
"""Git HTTP server view.
Wrapper around git-http-backend to provide Git repositories export over
HTTP. Performs permission checks and hands over execution to the wrapper.
"""
# Probably browser access
if path == '':
return redirect(
'subproject',
project=project,
subproject=subproject,
permanent=False
)
# HTTP authentication
auth = request.META.get('HTTP_AUTHORIZATION', b'')
if auth and not authenticate(request, auth):
return response_authenticate()
# Permissions
obj = get_subproject(request, project, subproject)
if not can_access_vcs(request.user, obj.project):
raise PermissionDenied('No VCS permissions')
return run_git_http(request, obj, path)