Ejemplo n.º 1
0
 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)
Ejemplo n.º 2
0
    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)
Ejemplo n.º 3
0
    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))
Ejemplo n.º 4
0
 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)
Ejemplo n.º 5
0
 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)
Ejemplo n.º 6
0
 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")
Ejemplo n.º 7
0
 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))
Ejemplo n.º 8
0
 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))
Ejemplo n.º 9
0
 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())
Ejemplo n.º 10
0
 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())
Ejemplo n.º 11
0
 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))
Ejemplo n.º 12
0
    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())
Ejemplo n.º 13
0
 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