本文整理汇总了Python中corehq.apps.builds.models.CommCareBuildConfig.j2me_enabled_config_labels方法的典型用法代码示例。如果您正苦于以下问题:Python CommCareBuildConfig.j2me_enabled_config_labels方法的具体用法?Python CommCareBuildConfig.j2me_enabled_config_labels怎么用?Python CommCareBuildConfig.j2me_enabled_config_labels使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类corehq.apps.builds.models.CommCareBuildConfig
的用法示例。
在下文中一共展示了CommCareBuildConfig.j2me_enabled_config_labels方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: save_copy
# 需要导入模块: from corehq.apps.builds.models import CommCareBuildConfig [as 别名]
# 或者: from corehq.apps.builds.models.CommCareBuildConfig import j2me_enabled_config_labels [as 别名]
def save_copy(request, domain, app_id):
"""
Saves a copy of the app to a new doc.
See VersionedDoc.save_copy
"""
track_built_app_on_hubspot_v2.delay(request.couch_user)
comment = request.POST.get('comment')
app = get_app(domain, app_id)
try:
errors = app.validate_app()
except ModuleIdMissingException:
# For apps (mainly Exchange apps) that lost unique_id attributes on Module
app.ensure_module_unique_ids(should_save=True)
errors = app.validate_app()
if not errors:
try:
user_id = request.couch_user.get_id
timer = datadog_bucket_timer('commcare.app_build.new_release', tags=[],
timing_buckets=(1, 10, 30, 60, 120, 240))
with timer:
copy = app.make_build(
comment=comment,
user_id=user_id,
)
copy.save(increment_version=False)
CouchUser.get(user_id).set_has_built_app()
finally:
# To make a RemoteApp always available for building
if app.is_remote_app():
app.save(increment_version=True)
_track_build_for_app_preview(domain, request.couch_user, app_id, 'User created a build')
else:
copy = None
copy = copy and SavedAppBuild.wrap(copy.to_json()).releases_list_json(
get_timezone_for_user(request.couch_user, domain)
)
lang, langs = get_langs(request, app)
if copy:
# Set if build is supported for Java Phones
j2me_enabled_configs = CommCareBuildConfig.j2me_enabled_config_labels()
copy['j2me_enabled'] = copy['menu_item_label'] in j2me_enabled_configs
return json_response({
"saved_app": copy,
"error_html": render_to_string("app_manager/partials/build_errors.html", {
'request': request,
'app': get_app(domain, app_id),
'build_errors': errors,
'domain': domain,
'langs': langs,
'lang': lang
}),
})
示例2: paginate_releases
# 需要导入模块: from corehq.apps.builds.models import CommCareBuildConfig [as 别名]
# 或者: from corehq.apps.builds.models.CommCareBuildConfig import j2me_enabled_config_labels [as 别名]
def paginate_releases(request, domain, app_id):
limit = request.GET.get('limit')
only_show_released = json.loads(request.GET.get('only_show_released', 'false'))
build_comment = request.GET.get('build_comment')
page = int(request.GET.get('page', 1))
page = max(page, 1)
try:
limit = int(limit)
except (TypeError, ValueError):
limit = 10
skip = (page - 1) * limit
timezone = get_timezone_for_user(request.couch_user, domain)
def _get_batch(start_build=None, skip=None):
start_build = {} if start_build is None else start_build
return Application.get_db().view('app_manager/saved_app',
startkey=[domain, app_id, start_build],
endkey=[domain, app_id],
descending=True,
limit=limit,
skip=skip,
wrapper=lambda x: SavedAppBuild.wrap(x['value'],
scrap_old_conventions=False).releases_list_json(timezone),
).all()
if not bool(only_show_released or build_comment):
# If user is limiting builds by released status or build comment, it's much
# harder to be performant with couch. So if they're not doing so, take shortcuts.
total_apps = len(get_built_app_ids_for_app_id(domain, app_id))
saved_apps = _get_batch(skip=skip)
else:
app_es = (
AppES()
.start((page - 1) * limit)
.size(limit)
.sort('version', desc=True)
.domain(domain)
.is_build()
.app_id(app_id)
)
if only_show_released:
app_es = app_es.is_released()
if build_comment:
app_es = app_es.build_comment(build_comment)
results = app_es.exclude_source().run()
app_ids = results.doc_ids
apps = get_docs(Application.get_db(), app_ids)
saved_apps = [
SavedAppBuild.wrap(app, scrap_old_conventions=False).releases_list_json(timezone)
for app in apps
]
total_apps = results.total
j2me_enabled_configs = CommCareBuildConfig.j2me_enabled_config_labels()
for app in saved_apps:
app['include_media'] = app['doc_type'] != 'RemoteApp'
app['j2me_enabled'] = app['menu_item_label'] in j2me_enabled_configs
app['target_commcare_flavor'] = (
SavedAppBuild.get(app['_id']).target_commcare_flavor
if toggles.TARGET_COMMCARE_FLAVOR.enabled(domain)
else 'none'
)
if toggles.APPLICATION_ERROR_REPORT.enabled(request.couch_user.username):
versions = [app['version'] for app in saved_apps]
num_errors_dict = _get_error_counts(domain, app_id, versions)
for app in saved_apps:
app['num_errors'] = num_errors_dict.get(app['version'], 0)
num_pages = int(ceil(total_apps / limit))
return json_response({
'apps': saved_apps,
'pagination': {
'total': total_apps,
'num_pages': num_pages,
'current_page': page,
}
})