Ejemplo n.º 1
0
    def get_event(self, name):
        logger.debug('In Geofon.get_event("%s")' % name)

        if not name in self.events:
            url = 'http://geofon.gfz-potsdam.de/db/eqpage.php?id=%s' % name
            logger.debug('Opening URL: %s' % url)
            page = urllib2.urlopen(url).read()
            logger.debug('Received page (%i bytes)' % len(page))

            d = self._parse_event_page(page)
            ev = model.Event(lat=d['epicenter'][0],
                             lon=d['epicenter'][1],
                             time=d['time'],
                             name=name,
                             depth=d['depth'],
                             magnitude=d['magnitude'],
                             region=d['region'],
                             catalog='GEOFON')

            if d['have_moment_tensor']:
                ev.moment_tensor = True

            self.events[name] = ev

        ev = self.events[name]

        if ev.moment_tensor is True:
            ev.moment_tensor = self.get_mt(ev)

        return ev
Ejemplo n.º 2
0
    def post(self, location):
        args = event_create_parser.parse_args()

        import model
        loc = model.Location.query.filter_by(id=location).first()

        evt = model.Event()
        evt.name = args.get('name')
        evt.start = args.get('start')
        evt.end = args.get('end')
        evt.id = uuid.uuid4()
        evt.location = loc

        from main import db
        db.session.add(evt)
        db.session.commit()

        return {
            'url': evt,
            'id': evt.id,
            'name': evt.name,
            'start': evt.start,
            'end': evt.end,
            'location': loc,
            'groups': [],
        }
Ejemplo n.º 3
0
	def post(self):
		date = datetime.datetime.strptime(self.request.get('date')[:16], '%Y-%m-%d %H:%M')
		title = self.request.get('title').strip()
		url = self.request.get('url').strip() or None
		poster = self.request.get('poster').strip() or None
		video = self.request.get('video').strip() or None
		discount = self.request.get('discount') and True or False

		if self.request.get('key'):
			event = model.get_by_key(self.request.get('key'))
		else:
			event = model.Event(user=users.get_current_user())
			event.far_sent = False
			event.soon_sent = False

		event.url = url
		event.short_url = util.shorten_url(url)
		event.date = date
		event.title = title
		event.poster = poster
		event.video = video
		event.discount = discount
		event.put()
		self.redirect('/')

		"""
Ejemplo n.º 4
0
  def post(self):
    try:
      json_item = json.loads(self.request.body)
      converted = ndb_json.ConvertToNdb(model.Event, json_item)
      activity = converted['activity'].get()
      start_time = converted['start_time']
      user_key = activity.submitted_by_user

      if not activity:
        self.abort(httplib.BAD_REQUEST, u'הפעילות לא קיימת')
        return

      collides_with = Event.CollidesWith(
          start_time, activity.duration_minutes, user_key)
      if collides_with:
        self.abort(httplib.BAD_REQUEST, collides_with)
        return

      converted['crew'].append(activity.submitted_by_user)
      item = model.Event(**converted)
      item.put()
      self.SendJson(ndb_json.AsDict(item))
    except Exception as e:
      raise
      self.abort(httplib.BAD_REQUEST, u'Invalid request')
Ejemplo n.º 5
0
    def _parse_events_page(self, page):
        events = []
        for line in page.splitlines():
            toks = line.strip().split(',')
            if len(toks) != 9:
                continue

            try:
                int(toks[0])
            except:
                continue

            t = util.str_to_time(','.join(toks[:4]).strip(),
                                 format='%Y,%m,%d,%H%M%S.OPTFRAC')
            lat = float(toks[4])
            lon = float(toks[5])
            mag = float(toks[6])
            depth = float(toks[7])
            catalog = toks[8]
            name = 'USGS-%s-' % catalog + util.time_to_str(
                t, format='%Y-%m-%d_%H-%M-%S.3FRAC')
            ev = model.Event(lat=lat,
                             lon=lon,
                             time=t,
                             name=name,
                             depth=depth * 1000.,
                             magnitude=mag,
                             catalog=catalog)

            events.append(ev)

        return events
Ejemplo n.º 6
0
    def _get_events_from_file(self):
        rdseed_event_file = os.path.join(self.tempdir, 'rdseed.events')
        if not os.path.isfile(rdseed_event_file):
            return []

        f = open(rdseed_event_file, 'r')
        events = []
        for line in f:
            toks = line.split(', ')
            if len(toks) == 9:
                datetime = toks[1].split('.')[0]
                lat = toks[2]
                lon = toks[3]
                format = '%Y/%m/%d %H:%M:%S'
                secs = calendar.timegm(time.strptime(datetime, format))
                e = model.Event(lat=float(toks[2]),
                                lon=float(toks[3]),
                                depth=float(toks[4]) * 1000.,
                                magnitude=float(toks[8]),
                                time=secs)
                events.append(e)
            else:
                raise Exception('Event description in unrecognized format')

        f.close()
        return events
Ejemplo n.º 7
0
        def complete(data):
            try:
                t = calendar.timegm((data.year, data.month, data.day,
                                     data.hour, data.minute, data.seconds))
                m = num.array([
                    data.mrr, data.mrt, data.mrp, data.mrt, data.mtt, data.mtp,
                    data.mrp, data.mtp, data.mpp
                ],
                              dtype=num.float).reshape(3, 3)

                m *= 10.0**(data.exponent - 7)
                mt = MomentTensor(m_up_south_east=m)
                ev = model.Event(lat=data.lat,
                                 lon=data.lon,
                                 time=t,
                                 name=data.eventname,
                                 depth=data.depth_km * 1000.,
                                 magnitude=mt.moment_magnitude(),
                                 duration=data.half_duration * 2.,
                                 region=data.region.rstrip(),
                                 catalog=data.catalog)

                ev.moment_tensor = mt
                events.append(ev)

            except AttributeError:
                pass
Ejemplo n.º 8
0
def ParseJSONBody(json_body):
  """Parse a JSON string and return a context and an event list."""
  json = simplejson.loads(json_body)
  # TODO(davidbyttow): Remove this once no longer needed.
  data = util.CollapseJavaCollections(json)
  context = ops.CreateContext(data)
  event_list = [model.Event(event_data) for event_data in data['events']]
  return context, event_list
Ejemplo n.º 9
0
 def testEvent(self):
   data = {'type': 'WAVELET_PARTICIPANTS_CHANGED',
           'properties': {'blipId': 'blip-1'},
           'timestamp': 123,
           'modifiedBy': '*****@*****.**'}
   event_data = model.Event(data)
   self.assertEquals(data['type'], event_data.type)
   self.assertEquals(data['properties'], event_data.properties)
   self.assertEquals(data['timestamp'], event_data.timestamp)
   self.assertEquals(data['modifiedBy'], event_data.modifiedBy)
Ejemplo n.º 10
0
def make_event(event, cal_id):

    start_week = event["start"].isocalendar()[:2]
    end_week = event["end"].isocalendar()[:2]

    return model.Event(cal_id=cal_id,
                        title=event["title"],
                        start=event["start"],
                        end=event["end"],
                        )
Ejemplo n.º 11
0
    def _parse_events_page(self, page):
        logger.debug('In Geofon._parse_events_page(...)')
        page = re.sub('&nbsp([^;])', ' \\1',
                      page)  # fix broken   tags
        page = re.sub('border=0', 'border="0"', page)
        doc = self.parse_xml(page)

        events = []
        for tr in doc.getElementsByTagName("tr"):
            logger.debug('Found <tr> tag')
            tds = tr.getElementsByTagName("td")
            if len(tds) != 8:
                logger.debug('Does not contain 8 <td> tags.')
                continue

            elinks = tds[0].getElementsByTagName("a")
            if len(elinks) != 1 or (not 'href' in elinks[0].attributes.keys()):
                logger.debug('Could not find link to event details page.')
                continue

            link = elinks[0].attributes['href'].value.encode('ascii')
            m = re.search(r'\?id=(gfz[0-9]+[a-z]+)$', link)
            if not m:
                logger.debug('Could not find event id.')
                continue

            eid = m.group(1)
            vals = [getTextR(td).encode('ascii') for td in tds]
            tevent = calendar.timegm(
                time.strptime(vals[0][:19], '%Y-%m-%d %H:%M:%S'))
            mag = float(vals[1])
            epicenter = parse_location(vals[2] + ' ' + vals[3])
            depth = float(vals[4]) * 1000.
            region = vals[7]
            ev = model.Event(lat=epicenter[0],
                             lon=epicenter[1],
                             time=tevent,
                             name=eid,
                             depth=depth,
                             magnitude=mag,
                             region=region,
                             catalog='GEOFON')

            if vals[6] == 'MT':
                syear = vals[0][:4]
                ev.moment_tensor = True

            logger.debug('Adding event from GEOFON catalog: %s' % ev)

            events.append(ev)

        return events
Ejemplo n.º 12
0
    def post(self):
        # self.response.write('<html><body>You wrote:<pre>')
        # self.response.write(cgi.escape(self.request.get('comment')))
        # self.response.write('</pre></body></html>')
        activity = self.request.get('activity')
        value = float(self.request.get('value'))
        comment = self.request.get('comment')
        startDateTime = datetime.datetime.strptime( self.request.get('startTime'), "%Y-%m-%dT%H:%M:%S.%fZ" ) #dateutil.parser.parse(self.request.get('startTime'))
        endDateTime = datetime.datetime.strptime( self.request.get('endTime'), "%Y-%m-%dT%H:%M:%S.%fZ" ) #dateutil.parser.parse(self.request.get('endTime'))
        event = model.Event(
            actor = users.get_current_user(), activity = activity,
            comment = comment,
            startTime = startDateTime, endTime = endDateTime,
            value = value)


        template = JINJA_ENVIRONMENT.get_template('/templates/logEventResult.html')
        self.response.write(template.render({"event":event}))
Ejemplo n.º 13
0
 def get_event(self, name):
     if name in self.events:
         return self.events[name]
     
     url = 'http://geofon.gfz-potsdam.de/db/eqpage.php?id=%s' % name
     page = urllib2.urlopen(url).read()
     d = self._parse_event_page(page)
     ev = model.Event(
           lat=d['epicenter'][0],
           lon=d['epicenter'][1], 
           time=d['time'],
           name=name,
           depth=d['depth'],
           magnitude=d['magnitude'],
           region=d['region'],
           catalog='GEOFON')
           
     return ev
Ejemplo n.º 14
0
    def create_event(self,
                     event_type,
                     followers,
                     user,
                     user_to=None,
                     group=None,
                     item=None,
                     thread=None,
                     creation_date=None,
                     response_number=0):
        event = model.Event(event_type=event_type,
                            followers=followers,
                            user=user,
                            user_nickname=user.nickname,
                            response_number=response_number)

        if user_to is not None:
            event.user_to = user_to
            event.user_to_nickname = user_to.nickname

        if group is not None:
            event.group = group
            event.group_title = group.title
            event.group_url_path = group.url_path

        if item is not None:
            event.item = item
            event.item_title = item.title
            event.item_author_nickname = item.author_nickname
            event.item_url_path = item.url_path

        if thread is not None:
            event.thread = thread
            event.thread_title = thread.title
            event.thread_url_path = thread.url_path

        if creation_date is None:
            event.creation_date = datetime.datetime.now()
        else:
            event.creation_date = creation_date

        event.put()
Ejemplo n.º 15
0
    def create_event(self,
                     event_type,
                     followers,
                     user,
                     user_to=None,
                     community=None,
                     article=None,
                     thread=None,
                     creation_date=None,
                     response_number=0):
        event = model.Event(event_type=event_type,
                            followers=followers,
                            user=user,
                            user_nickname=user.nickname,
                            response_number=response_number)

        if user_to is not None:
            event.user_to = user_to
            event.user_to_nickname = user_to.nickname

        if community is not None:
            event.community = community
            event.community_title = community.title
            event.community_url_path = community.url_path

        if article is not None:
            event.article = article
            event.article_title = article.title
            event.article_author_nickname = article.author_nickname
            event.article_url_path = article.url_path

        if thread is not None:
            event.thread = thread
            event.thread_title = thread.title
            event.thread_url_path = thread.url_path

        if creation_date is None:
            event.creation_date = datetime.datetime.now()
        else:
            event.creation_date = creation_date

        event.put()
Ejemplo n.º 16
0
    def retrieve(self, **kwargs):
        import yaml

        kwargs['format'] = 'yaml'

        url = 'http://kinherd.org/quakes/KPS'

        f = ws_request(url, **kwargs)

        names = []
        for eq in yaml.safe_load_all(f):
            tref_eq = calendar.timegm(eq['reference_time'].timetuple())
            pset = eq['parametersets'][0]
            tref = calendar.timegm(pset['reference_time'].timetuple())
            params = pset['parameters']

            mt = MomentTensor(strike=params['strike'],
                              dip=params['dip'],
                              rake=params['slip_rake'],
                              scalar_moment=params['moment'])

            event = model.Event(time=tref + params['time'],
                                lat=params['latitude'],
                                lon=params['longitude'],
                                depth=params['depth'],
                                magnitude=params['magnitude'],
                                name=eq['name'],
                                catalog='KPS',
                                moment_tensor=mt)

            event.ext_confidence_intervals = {}
            trans = {'latitude': 'lat', 'longitude': 'lon'}
            for par in 'latitude longitude depth magnitude'.split():
                event.ext_confidence_intervals[trans.get(par, par)] = \
                        (params[par+'_ci_low'], params[par+'_ci_high'])

            name = eq['name']
            self.events[name] = event
            names.append(name)

        return names
Ejemplo n.º 17
0
def admin():
    if request.method == 'POST':
        venue = request.form['venue']
        location = request.form['location']
        start_time = datetime.datetime.strptime(
            '%s %s' % (request.form['date'], request.form['time']),
            '%Y-%m-%d %H:%M')
        user = users.get_current_user()
        event = model.Event(venue=venue,
                            location=location,
                            start_time=start_time,
                            created_by=user)
        added = event.put()
        return redirect('/admin')
    elif request.args.get('delete'):
        k = ndb.Key(urlsafe=request.args['delete'])
        k.delete()
        return redirect('/admin')
    news = model.News.query().order(model.News.created).fetch()
    upcoming = model.Event.query().order(model.Event.start_time).fetch()
    return render_template('admin.html', upcoming=upcoming, news=news)
Ejemplo n.º 18
0
def crawlpage(page_id):
	url  = "https://www.eventbrite.com/d/indonesia--jakarta-pusat/all-events/?page={}".format(page_id)
	x    = get(url)
	soup = BeautifulSoup(x.content, 'html.parser')
	data = json.loads(soup.find('script', type='application/ld+json').text)
	# add data
	listevents = []
	for event in data:
		
		if(float(event["offers"]["lowPrice"]) > 0 or float(event["offers"]["lowPrice"]) > 0):
			continue
		
		newitem       = model.Event()
		newitem.judul = event["name"]
		newitem.link  = event["url"]
		dateformat = "%Y-%m-%d"
		newitem.waktu_berlangsung =  datetime.datetime.strptime(event["startDate"], dateformat)
		newitem.waktu_event       = datetime.datetime.strptime(event["startDate"], dateformat)
		newitem.status = 0
		listevents.append(newitem)		

	return listevents
Ejemplo n.º 19
0
    def _parse_events_page(self, page):

        import json
        doc = json.loads(page)

        events = []
        for feat in doc['features']:
            props = feat['properties']
            geo = feat['geometry']
            lon, lat, depth = [float(x) for x in geo['coordinates']]
            t = util.str_to_time('1970-01-01 00:00:00') + props['time'] * 0.001
            if props['mag'] is not None:
                mag = float(props['mag'])
            else:
                mag = None

            if props['place'] != None:
                region = str(props['place'])
            else:
                region = None

            catalog = str(props['net'].upper())
            name = 'USGS-%s-' % catalog + util.time_to_str(
                t, format='%Y-%m-%d_%H-%M-%S.3FRAC')

            ev = model.Event(lat=lat,
                             lon=lon,
                             time=t,
                             name=name,
                             depth=depth * 1000.,
                             magnitude=mag,
                             region=region,
                             catalog=catalog)

            events.append(ev)

        return events
Ejemplo n.º 20
0
for row in records:
    factory.addSequence(model.Sequence(row[0], row[2], row[3], row[1], row[4]))

cursor.close()
#endregion

#region Drug Delivery
query = open('./SQL/drug_delivery.sql', 'r').read()
cursor = conn.cursor()
cursor.execute(query)

records = cursor.fetchall()

for row in records:
    factory.addEventDrugDelivery(
        model.Event(str(row[0]), model.Pharmacy(str(row[5])),
                    model.DrugDelevery(str(row[3]), row[4]), row[1], row[2]))

cursor.close()
#endregion

#region Medical Act
query = open('./SQL/medical_act.sql', 'r').read()
cursor = conn.cursor()
cursor.execute(query)

records = cursor.fetchall()

for row in records:
    factory.addEventMedicalAct(
        model.Event(str(row[0]), model.Doctor(str(row[4]), str(row[5])),
                    model.Acte(row[3]), row[1], row[2]))
Ejemplo n.º 21
0
Archivo: main.py Proyecto: msarch/py
def on_mouse_drag(x, y, dx, dy, button, modifiers):
    scene.handle(model.Event(model.Event.DRAG, model.Vec2(dx, -dy)))
Ejemplo n.º 22
0
Archivo: main.py Proyecto: msarch/py
def on_mouse_press(x, y, button, modifiers):
    scene.handle(
        model.Event(model.Event.PRESS, model.Vec2(x, window.height - y)))
Ejemplo n.º 23
0
Archivo: main.py Proyecto: msarch/py
def on_mouse_release(x, y, button, modifiers):
    scene.handle(
        model.Event(model.Event.RELEASE, model.Vec2(x, window.height - y)))
Ejemplo n.º 24
0
class Geofon(EarthquakeCatalog):
    def __init__(self):
        self.events = {}

    def flush(self):
        self.events = {}

    def iter_event_names(self,
                         time_range=None,
                         nmax=1000,
                         magmin=None,
                         latmin=-90.,
                         latmax=90.,
                         lonmin=-180.,
                         lonmax=180.):
        logger.debug('In Geofon.iter_event_names(...)')

        dmin = time.strftime('%Y-%m-%d', time.gmtime(time_range[0]))
        dmax = time.strftime('%Y-%m-%d',
                             time.gmtime(time_range[1] + 24 * 60 * 60))

        if magmin is None:
            magmin = ''
        else:
            magmin = '%g' % magmin

        ipage = 1
        while True:
            url = ('http://geofon.gfz-potsdam.de/db/eqinfo.php?' + '&'.join([
                'page=%i' % ipage,
                'datemin=%s' % dmin,
                'datemax=%s' % dmax,
                'latmin=%g' % latmin,
                'latmax=%g' % latmax,
                'lonmin=%g' % lonmin,
                'lonmax=%g' % lonmax,
                'magmin=%s' % magmin, 'fmt=html',
                'nmax=%i' % nmax
            ]))

            logger.debug('Opening URL: %s' % url)
            page = urllib2.urlopen(url).read()
            logger.debug('Received page (%i bytes)' % len(page))
            events = self._parse_events_page(page)

            if not events:
                break

            for ev in events:
                if time_range[0] <= ev.time and ev.time <= time_range[1]:
                    self.events[ev.name] = ev
                    yield ev.name

            ipage += 1

    def get_event(self, name):
        logger.debug('In Geofon.get_event("%s")' % name)

        if name in self.events:
            logger.debug('Already have it.')
            return self.events[name]

        url = 'http://geofon.gfz-potsdam.de/db/eqpage.php?id=%s' % name
        logger.debug('Opening URL: %s' % url)
        page = urllib2.urlopen(url).read()
        logger.debug('Received page (%i bytes)' % len(page))

        d = self._parse_event_page(page)
        ev = model.Event(lat=d['epicenter'][0],
                         lon=d['epicenter'][1],
                         time=d['time'],
                         name=name,
                         depth=d['depth'],
                         magnitude=d['magnitude'],
                         region=d['region'],
                         catalog='GEOFON')

        return ev

    def _parse_events_page(self, page):
        logger.debug('In Geofon._parse_events_page(...)')
        page = re.sub('&nbsp([^;])', '&nbsp;\\1',
                      page)  # fix broken &nbsp; tags
        page = re.sub('border=0', 'border="0"', page)
        try:
            doc = minidom.parseString(page)
        except ExpatError, e:
            lines = page.splitlines()
            r = max(e.lineno - 1 - 2, 0), min(e.lineno - 1 + 3, len(lines))
            ilineline = zip(range(r[0] + 1, r[1] + 1), lines[r[0]:r[1]])

            logger.error(
                'A problem occured while parsing HTML from GEOFON page (line=%i, col=%i):\n\n'
                % (e.lineno, e.offset) + '\n'.join([
                    '  line %i: %s' %
                    (iline, line[:e.offset] + '### HERE ###' + line[e.offset:])
                    for (iline, line) in ilineline
                ]))
            logger.error(
                '... maybe the format of the GEOFON web catalog has changed.')
            raise

        events = []
        for tr in doc.getElementsByTagName("tr"):
            logger.debug('Found <tr> tag')
            tds = tr.getElementsByTagName("td")
            if len(tds) != 8:
                logger.debug('Does not contain 8 <td> tags.')
                continue

            elinks = tds[0].getElementsByTagName("a")
            if len(elinks) != 1 or (not 'href' in elinks[0].attributes.keys()):
                logger.debug('Could not find link to event details page.')
                continue

            link = elinks[0].attributes['href'].value.encode('ascii')
            m = re.search(r'\?id=(gfz[0-9]+[a-z]+)$', link)
            if not m:
                logger.debug('Could not find event id.')
                continue

            eid = m.group(1)
            vals = [getTextR(td).encode('ascii') for td in tds]
            tevent = calendar.timegm(
                time.strptime(vals[0][:19], '%Y-%m-%d %H:%M:%S'))
            mag = float(vals[1])
            epicenter = parse_location(vals[2] + ' ' + vals[3])
            depth = float(vals[4]) * 1000.
            region = vals[7]
            ev = model.Event(lat=epicenter[0],
                             lon=epicenter[1],
                             time=tevent,
                             name=eid,
                             depth=depth,
                             magnitude=mag,
                             region=region,
                             catalog='GEOFON')

            logger.debug('Adding event from GEOFON catalog: %s' % ev)

            events.append(ev)

        return events
Ejemplo n.º 25
0
    def __handleEvent(self,line,origin_file_path):

        '''handle event, for example: '''
        '''E1 Marry:T3 Time:T2'''

        '''the first argu is trigger:'''
        '''Marry:T3'''

        words = line.split()
        event_id = words[0]

        trigger = words[1]
        type_and_trigger_id = trigger.split(':')
        event_type = type_and_trigger_id[0]
        trigger_id = type_and_trigger_id[1]

        trigger_entity = self.entity_map[trigger_id]

        '''record the begin and end index of the event in the origin file'''
        event_sentence_begin_index = trigger_entity.begin
        event_sentence_end_index = trigger_entity.end

        event = model.Event(event_id,event_types.get_event_type(event_type),trigger_entity)
        for word in words[2:]:
            entity_type_and_entity_id = word.split(':')
            argu_entity = self.entity_map[entity_type_and_entity_id[1]]

            event_sentence_begin_index = min(event_sentence_begin_index,argu_entity.begin)
            event_sentence_end_index = max(event_sentence_end_index,argu_entity.end)
            '''set the argu of the event'''
            event.setArgu(entity_type_and_entity_id[0],argu_entity)

        '''find the origin sentence in the origin file'''
        '''find the speaker of the event'''
        with open(origin_file_path,'r',encoding='utf8') as origin_reader:
            cursor = 0

            '''default speaker is plaintiff'''
            speaker = parties.PLAINTIFF
            for line in origin_reader.readlines():
                if (line.find('被告')!=-1 and line.find('辩称')!=-1):
                    speaker = parties.DEFENDANT
                line = line.replace('\n', '\r\n')

                begin_index_of_the_line = cursor
                end_index_of_the_line = cursor + len(line)

                '''smaller than the begin index'''
                if (end_index_of_the_line <= event_sentence_begin_index):
                    cursor = end_index_of_the_line
                    continue

                if (begin_index_of_the_line <= event_sentence_begin_index and event_sentence_begin_index <= end_index_of_the_line
                        and begin_index_of_the_line <= event_sentence_end_index and event_sentence_end_index <= end_index_of_the_line):
                    '''整个事件句子在当前句子中'''
                    event.addSent(line.strip())
                    event.begin_index = begin_index_of_the_line

                    break

                elif(begin_index_of_the_line <= event_sentence_begin_index and event_sentence_begin_index <= end_index_of_the_line and
                      end_index_of_the_line < event_sentence_end_index):
                    '''只有事件句子的开始在当前句子中'''
                    event.addSent(line.strip())
                    event.begin_index = begin_index_of_the_line

                elif (event_sentence_begin_index < begin_index_of_the_line and begin_index_of_the_line <= event_sentence_end_index and
                     event_sentence_end_index<= end_index_of_the_line):
                    '''只有事件句子的结尾在当前句子中'''
                    event.addSent(line)
                    break
                elif(event_sentence_begin_index<=begin_index_of_the_line and end_index_of_the_line<=event_sentence_end_index):
                    '''当前句子整个都在事件句子中'''
                    event.addSent(line)
                cursor = end_index_of_the_line
            event.sentence = event.sentence.replace('\r\n','').replace('\n','')
            event.speaker = speaker

        return event
Ejemplo n.º 26
0
 def post(self):
     event_name = self.request.get('name')
     if event_name:
         event = model.Event(name=event_name)
         event.put()
         return webapp2.redirect_to('event', event_id=event.key().id())