def get(self): mark_id = self.request.get_range('mark_id') category = self.request.get_range('category') if category == PERIOD_CATEGORY: back_link = "/mt/materials/periods/list" mark = HistoryPeriod.get_by_id(mark_id) elif category == EVENT_CATEGORY: back_link = '/mt/materials/events/list?mark_id=%s&category=%s' % (mark_id, category) mark = HistoryEvent.get_by_id(mark_id) elif category == PERSON_CATEGORY: back_link = '/mt/materials/persons/list?mark_id=%s&category=%s' % (mark_id, category) mark = HistoryPerson.get_by_id(mark_id) options = [] for mark in HistoryEvent.query().fetch(): options.append({ 'id': '%s_%s' % (mark.key.id(), EVENT_CATEGORY), 'name': mark.name }) for mark in HistoryPerson.query().fetch(): options.append({ 'id': '%s_%s' % (mark.key.id(), PERSON_CATEGORY), 'name': mark.name }) for mark in HistoryPeriod.query().fetch(): options.append({ 'id': '%s_%s' % (mark.key.id(), PERIOD_CATEGORY), 'name': mark.name }) self.render('/materials/dependency_add.html', mark=mark, category=category, options=options, back_link=back_link)
def post(self): dependency_key = self.request.get('dependency').split('_') dependency_mark_id, dependency_category = int(dependency_key[0]), int(dependency_key[1]) if dependency_category == PERIOD_CATEGORY: dependency = HistoryPeriod.get_by_id(dependency_mark_id) elif dependency_category == EVENT_CATEGORY: dependency = HistoryEvent.get_by_id(dependency_mark_id) elif dependency_category == PERSON_CATEGORY: dependency = HistoryPerson.get_by_id(dependency_mark_id) mark_id = self.request.get_range('mark_id') category = self.request.get_range('category') if category == PERIOD_CATEGORY: back_link = "/mt/materials/periods/list" mark = HistoryPeriod.get_by_id(mark_id) elif category == EVENT_CATEGORY: back_link = '/mt/materials/events/list?mark_id=%s&category=%s' % (mark_id, category) mark = HistoryEvent.get_by_id(mark_id) elif category == PERSON_CATEGORY: back_link = '/mt/materials/persons/list?mark_id=%s&category=%s' % (mark_id, category) mark = HistoryPerson.get_by_id(mark_id) found = False for dependency_key in mark.dependencies: if dependency_key.get() == dependency.name: found = True if not found: mark.dependencies.append(dependency.key) mark.put() self.redirect(back_link)
def post(self): parent_mark_id = self.request.get_range('parent_mark_id') parent_category = self.request.get_range('parent_category') test = Test() test.put() video = YoutubeVideo() if parent_category == PERSON_CATEGORY: person = HistoryPerson.get_by_id(parent_mark_id) video.person = person.key elif parent_category == EVENT_CATEGORY: event = HistoryEvent.get_by_id(parent_mark_id) video.event = event.key elif parent_category == PERIOD_CATEGORY: period = HistoryPeriod.get_by_id(parent_mark_id) video.period = period.key video.test = test.key video.youtube_id = self.request.get("youtube_id") video.title = self.request.get("title") video.shortcut = self.request.get("shortcut") video.sort_index = self.request.get_range("sort_index") video.put() save_video_info(video) self.redirect('/mt/materials/videos/list?mark_id=%s&category=%s' % (parent_mark_id, parent_category))
def get(self): mark_id = self.request.get_range('mark_id') category = self.request.get_range('category') if category not in MARK_CATEGORIES: self.abort(400) persons = [] back_link = "" add_link = "" if category == PERIOD_CATEGORY: period = HistoryPeriod.get_by_id(mark_id) persons = sorted_history_marks(HistoryPerson.get_by_period(period, consider_avail=False)) back_link = "/mt/materials/periods/list" add_link = "/mt/materials/persons/add?parent_mark_id=%s&parent_category=0" % period.key.id() for person in persons: person.change_url = "/mt/materials/persons/change?person_id=%s&parent_mark_id=%s&parent_category=%s" % (person.key.id(), mark_id, category) person.extra = { 'Видео'.decode("utf-8"): "/mt/materials/videos/list?mark_id=%s&category=2" % person.key.id(), 'Титулы'.decode("utf-8"): '/mt/materials/persons/titles/list?parent_mark_id=%s&parent_category=%s&person_id=%s' % (mark_id, category, person.key.id()) } person.dependencies_obj = get_dependencies(person) self.render('/materials/mark_list.html', marks=persons, parent_mark_id=mark_id, parent_category=category, category=PERSON_CATEGORY, back_link=back_link, add_link=add_link)
def get(self): mark_id = self.request.get_range('mark_id') category = self.request.get_range('category') if category not in MARK_CATEGORIES: self.abort(400) events = [] back_link = "" add_link = "" if category == PERIOD_CATEGORY: period = HistoryPeriod.get_by_id(mark_id) events = sorted_history_marks(HistoryEvent.get_by_period(period, consider_avail=False)) back_link = "/mt/materials/periods/list" add_link = "/mt/materials/events/add?parent_mark_id=%s&parent_category=0" % period.key.id() for event in events: event.change_url = "/mt/materials/events/change?event_id=%s&parent_mark_id=%s&parent_category=%s" % (event.key.id(), mark_id, category) event.extra = { 'Видео'.decode("utf-8"): "/mt/materials/videos/list?mark_id=%s&category=1" % event.key.id(), } event.dependencies_obj = get_dependencies(event) self.render('/materials/mark_list.html', marks=events, parent_mark_id=mark_id, parent_category=category, category=EVENT_CATEGORY, back_link=back_link, add_link=add_link)
def get(self): period_id = self.request.get_range('period_id') period = HistoryPeriod.get_by_id(period_id) if not period: self.abort(400) period.start_str = get_html_date_from_str(period.start) period.end_str = get_html_date_from_str(period.end) self.render('/materials/mark_add.html', country=period.country.get(), mark=period, default_category=DEFAULT_PERIODS_STRING.decode("utf-8"), back_link="/mt/materials/periods/list")
def post(self): parent_mark_id = self.request.get_range('parent_mark_id') parent_category = self.request.get_range('parent_category') if parent_category == PERIOD_CATEGORY: mark = HistoryPeriod.get_by_id(parent_mark_id) person = HistoryPerson() person.category = PERSON_CATEGORY person.period = mark.key get_mark_values(self.request, person) set_add_defaults(person, mark.country) person.put() person.country.get().update() self.redirect('/mt/materials/persons/list?mark_id=%s&category=%s' % (parent_mark_id, parent_category))
def post(self): parent_mark_id = self.request.get_range('parent_mark_id') parent_category = self.request.get_range('parent_category') if parent_category == PERIOD_CATEGORY: mark = HistoryPeriod.get_by_id(parent_mark_id) event = HistoryEvent() event.category = EVENT_CATEGORY event.period = mark.key get_mark_values(self.request, event) set_add_defaults(event, mark.country) event.put() event.country.get().update() self.redirect('/mt/materials/events/list?mark_id=%s&category=%s' % (parent_mark_id, parent_category))
def post(self): country_id = self.request.get_range('country_id') country = HistoryCountry.get_by_id(country_id) if not country: self.abort(400) period_id = self.request.get_range('mark_id') period = HistoryPeriod.get_by_id(period_id) get_mark_values(self.request, period) if period.available: period.developing = False else: period.developing = True period.put() country.put() self.redirect('/mt/materials/periods/list?country_id=%s' % country.key.id())
def post(self): country_id = self.request.get_range('country_id') country = HistoryCountry.get_by_id(country_id) if not country: self.abort(400) period = HistoryPeriod() period.category = PERIOD_CATEGORY get_mark_values(self.request, period) if period.available: period.developing = False else: period.developing = True set_add_defaults(period, country.key) period.put() country.put() self.redirect('/mt/materials/periods/list?country_id=%s' % country.key.id())
def get(self): mark_id = self.request.get_range('mark_id') category = self.request.get_range('category') if category not in MARK_CATEGORIES: self.abort(400) if category == PERIOD_CATEGORY: period = HistoryPeriod.get_by_id(mark_id) if not period: self.abort(400) self.render_json(self.get_mark_dict(period)) elif category == EVENT_CATEGORY: event = HistoryEvent.get_by_id(mark_id) if not event: self.abort(400) self.render_json(self.get_mark_dict(event)) elif category == PERSON_CATEGORY: person = HistoryPerson.get_by_id(mark_id) if not person: self.abort(400) self.render_json(self.get_mark_dict(person))
def get(self): country_id = self.request.get_range('country_id') country = HistoryCountry.get_by_id(country_id) if not country: self.abort(400) periods = sorted_history_marks(HistoryPeriod.query(HistoryPeriod.country == country.key).fetch()) for period in periods: period.change_url = "/mt/materials/periods/change?period_id=%s" % period.key.id() period.extra = { 'Личности'.decode("utf-8"): "/mt/materials/persons/list?mark_id=%s&category=0" % period.key.id(), 'События'.decode("utf-8"): "/mt/materials/events/list?mark_id=%s&category=0" % period.key.id(), } period.dependencies_obj = get_dependencies(period) self.render('/materials/mark_list.html', marks=periods, parent_mark_id=None, parent_category=None, category=PERIOD_CATEGORY, back_link="", add_link="/mt/materials/periods/add?country_id=%s" % country.key.id())
def get_periods(): periods = memcache.get(key=MEM_CACHE_PERIODS_KEY_MASK % country.key.id()) if not periods: periods = HistoryPeriod.query(HistoryPeriod.country == country.key).fetch() memcache.add(key=MEM_CACHE_PERIODS_KEY_MASK % country.key.id(), value=periods, time=MEM_CACHE_TIME) return periods