def constellation_chart(constellation_id): """View a constellation findchart.""" constellation = _find_constellation(constellation_id) if constellation is None: abort(404) form = ChartForm() if not common_ra_dec_fsz_from_request(form): if form.ra.data is None or form.dec.data is None: form.ra.data = constellation.label_ra form.dec.data = constellation.label_dec chart_control = common_prepare_chart_data(form) lang, editor_user = get_lang_and_editor_user_from_request( for_constell_descr=True) common_name = _get_constellation_common_name(constellation) return render_template( 'main/catalogue/constellation_info.html', fchart_form=form, type='chart', constellation=constellation, chart_control=chart_control, common_name=common_name, )
def observed_list_chart(): observed_list = ObservedList.create_get_observed_list_by_user_id(current_user.id) if observed_list is None: abort(404) form = ChartForm() dso_id = request.args.get('dso_id') observed_list_item = None if dso_id and dso_id.isdigit(): idso_id = int(dso_id) observed_list_item = next((x for x in observed_list.observed_list_items if x.deepskyObject.id == idso_id), None) if not observed_list_item: observed_list_item = observed_list.observed_list_items[0] if observed_list.observed_list_items else None if not common_ra_dec_fsz_from_request(form): if form.ra.data is None or form.dec.data is None: form.ra.data = observed_list_item.deepskyObject.ra if observed_list_item else 0 form.dec.data = observed_list_item.deepskyObject.dec if observed_list_item else 0 chart_control = common_prepare_chart_data(form) if observed_list_item: default_chart_iframe_url = url_for('main_deepskyobject.deepskyobject_info', back='observedlist', dso_id=observed_list_item.deepskyObject.name, embed='fc', allow_back='true') else: default_chart_iframe_url = None return render_template('main/observation/observed_list.html', fchart_form=form, type='chart', observed_list=observed_list, chart_control=chart_control, default_chart_iframe_url=default_chart_iframe_url,)
def double_star_chart(double_star_id): """View a double star findchart.""" double_star = DoubleStar.query.filter_by(id=double_star_id).first() if not double_star: abort(404) embed = request.args.get('embed') if embed: session['double_star_embed_seltab'] = 'catalogue_data' season = request.args.get('season') form = ChartForm() if not common_ra_dec_fsz_from_request(form): if form.ra.data is None or form.dec.data is None: form.ra.data = double_star.ra_first form.dec.data = double_star.dec_first chart_control = common_prepare_chart_data(form) prev_dbl_star, next_dbl_star = _get_prev_next_double_star(double_star) lang, editor_user = get_lang_and_editor_user_from_request(for_constell_descr=True) user_descr = UserStarDescription.query.filter_by(double_star_id=double_star_id, user_id=editor_user.id, lang_code=lang).first() return render_template('main/catalogue/double_star_info.html', fchart_form=form, type='chart', double_star=double_star, chart_control=chart_control, prev_dbl_star=prev_dbl_star, next_dbl_star=next_dbl_star, embed=embed, season=season, user_descr=user_descr)
def star_chart(star_id): """View a star findchart.""" star = Star.query.filter_by(id=star_id).first() if not star: abort(404) embed = request.args.get('embed') if embed: session['star_embed_seltab'] = 'info' season = request.args.get('season') form = ChartForm() if not common_ra_dec_fsz_from_request(form): if form.ra.data is None or form.dec.data is None: form.ra.data = star.ra form.dec.data = star.dec chart_control = common_prepare_chart_data(form) prev_star, next_star = _get_prev_next_star(star) return render_template( 'main/catalogue/star_info.html', fchart_form=form, type='chart', star=star, user_descr=None, chart_control=chart_control, prev_star=prev_star, next_star=next_star, embed=embed, season=season, )
def news_chart(news_id): """View a comet info.""" news = News.query.filter_by(id=news_id).first() if news is None: abort(404) if not news.is_released and (current_user.is_anonymous or not current_user.is_editor): abort(404) form = ChartForm() if not common_ra_dec_fsz_from_request(form): if form.ra.data is None or form.dec.data is None: form.ra.data = news.ra form.dec.data = news.dec chart_control = common_prepare_chart_data(form) return render_template( 'main/news/news_info.html', fchart_form=form, type='chart', news=news, user_descr=None, chart_control=chart_control, )
def observing_session_chart(observing_session_id): observing_session = ObservingSession.query.filter_by( id=observing_session_id).first() is_mine_observing_session = _check_observing_session(observing_session, allow_public=True) form = ChartForm() dso_id = request.args.get('dso_id') observing_session_item = None dso = None idso_id = int(dso_id) if dso_id and dso_id.isdigit() else None for oitem in observing_session.observations: for oitem_dso in oitem.deepsky_objects: if idso_id is None or oitem_dso.id == idso_id: observing_session_item = oitem dso = oitem_dso break if observing_session_item is not None: break if not common_ra_dec_fsz_from_request(form): if observing_session_item: if form.ra.data is None or form.dec.data is None: if not dso: dso = observing_session_item.deepsky_objects[ 0] if observing_session_item and observing_session_item.deepsky_objects else None form.ra.data = dso.ra if dso else 0 form.dec.data = dso.dec if dso else 0 else: common_set_initial_ra_dec(form) if observing_session_item: default_chart_iframe_url = url_for( 'main_deepskyobject.deepskyobject_info', back='observing_session', back_id=observing_session.id, dso_id=dso.name, embed='fc', allow_back='true') else: default_chart_iframe_url = None chart_control = common_prepare_chart_data(form) return render_template('main/observation/observing_session_info.html', fchart_form=form, type='chart', observing_session=observing_session, chart_control=chart_control, default_chart_iframe_url=default_chart_iframe_url, is_mine_observing_session=is_mine_observing_session)
def dso_list_chart(dso_list_id): dso_list = _find_dso_list(dso_list_id) if dso_list is None: abort(404) form = ChartForm() dso_id = request.args.get('dso_id') dso_list_item = None if dso_id and dso_id.isdigit(): idso_id = int(dso_id) dso_list_item = next((x for x in dso_list.dso_list_items if x.deepskyObject.id == idso_id), None) if not dso_list_item: dso_list_item = DsoListItem.query.filter_by(dso_list_id=dso_list.id, item_id=1).first() lang, editor_user = get_lang_and_editor_user_from_request( for_constell_descr=False) dso_list_descr = DsoListDescription.query.filter_by( dso_list_id=dso_list.id, lang_code=lang).first() if not common_ra_dec_fsz_from_request(form): if form.ra.data is None or form.dec.data is None: form.ra.data = dso_list_item.deepskyObject.ra if dso_list_item else 0 form.dec.data = dso_list_item.deepskyObject.dec if dso_list_item else 0 if dso_list_item: default_chart_iframe_url = url_for( 'main_deepskyobject.deepskyobject_info', back='dso_list', back_id=dso_list.id, dso_id=dso_list_item.deepskyObject.name, embed='fc', allow_back='true') else: default_chart_iframe_url = None chart_control = common_prepare_chart_data(form) return render_template('main/catalogue/dso_list_info.html', fchart_form=form, type='chart', dso_list=dso_list, dso_list_descr=dso_list_descr, chart_control=chart_control, default_chart_iframe_url=default_chart_iframe_url)
def session_plan_chart(session_plan_id): session_plan = SessionPlan.query.filter_by(id=session_plan_id).first() is_mine_session_plan = _check_session_plan(session_plan, allow_public=True) form = ChartForm() dso_id = request.args.get('dso_id') session_plan_item = None if dso_id and dso_id.isdigit(): idso_id = int(dso_id) session_plan_item = next((x for x in session_plan.session_plan_items if x.deepskyObject.id == idso_id), None) if not session_plan_item: session_plan_item = SessionPlanItem.query.filter_by( session_plan_id=session_plan.id).first() if not common_ra_dec_fsz_from_request(form): if session_plan_item: if form.ra.data is None or form.dec.data is None: form.ra.data = session_plan_item.deepskyObject.ra if session_plan_item else 0 form.dec.data = session_plan_item.deepskyObject.dec if session_plan_item else 0 else: common_set_initial_ra_dec(form) if session_plan_item: default_chart_iframe_url = url_for( 'main_deepskyobject.deepskyobject_info', back='session_plan', back_id=session_plan.id, dso_id=session_plan_item.dso_id, embed='fc', allow_back='true') else: default_chart_iframe_url = None chart_control = common_prepare_chart_data(form) return render_template('main/planner/session_plan_info.html', fchart_form=form, type='chart', session_plan=session_plan, chart_control=chart_control, default_chart_iframe_url=default_chart_iframe_url, is_mine_session_plan=is_mine_session_plan)
def star_descr_chart(star_descr_id): """View a star findchart.""" lang, editor_user = get_lang_and_editor_user_from_request( for_constell_descr=True) user_descr = UserStarDescription.query.filter_by(id=star_descr_id, user_id=editor_user.id, lang_code=lang).first() if user_descr is None: abort(404) star = user_descr.star if not star: abort(404) embed = request.args.get('embed') if embed: session['star_embed_seltab'] = 'info' season = request.args.get('season') form = ChartForm() if not common_ra_dec_fsz_from_request(form): if form.ra.data is None or form.dec.data is None: form.ra.data = star.ra form.dec.data = star.dec chart_control = common_prepare_chart_data(form) if user_descr.star is not None: prev_star, next_star = _get_prev_next_star(user_descr.star) else: prev_star, next_star = (None, None) return render_template( 'main/catalogue/star_info.html', fchart_form=form, type='chart', user_descr=user_descr, chart_control=chart_control, prev_star=prev_star, next_star=next_star, embed=embed, season=season, )
def deepskyobject_chart(dso_id): """View a deepsky object chart.""" dso, orig_dso = _find_dso(dso_id) if dso is None: abort(404) form = ChartForm() prev_dso, prev_dso_title, next_dso, next_dso_title = _get_prev_next_dso( orig_dso) if not common_ra_dec_fsz_from_request(form): if form.ra.data is None or form.dec.data is None: form.ra.data = dso.ra form.dec.data = dso.dec chart_control = common_prepare_chart_data( form, cancel_selection_url=url_for('main_deepskyobject.deepskyobject_chart', dso_id=dso.name)) back = request.args.get('back') back_id = request.args.get('back_id') season = request.args.get('season') embed = request.args.get('embed') if embed: session['dso_embed_seltab'] = 'chart' back = request.args.get('back') if back == 'running_plan': iframe_endpoit = 'main_deepskyobject.deepskyobject_observation_log' else: iframe_endpoit = 'main_deepskyobject.deepskyobject_info' default_chart_iframe_url = url_for(iframe_endpoit, back=back, back_id=back_id, dso_id=dso.name, season=season, embed='fc', allow_back='true') has_observations = _has_dso_observations(dso, orig_dso) return render_template( 'main/catalogue/deepskyobject_info.html', fchart_form=form, type='chart', dso=dso, prev_dso=prev_dso, next_dso=next_dso, prev_dso_title=prev_dso_title, next_dso_title=next_dso_title, chart_control=chart_control, default_chart_iframe_url=default_chart_iframe_url, season=season, embed=embed, has_observations=has_observations, )