示例#1
0
def test_db():
    u = User(telegram_id=str(int(time.time())))
    print(u)

    session.add(u)
    for _ in range(7):
        e = Event(date=datetime.now() +
                  timedelta(milliseconds=random.randint(1, 1000)))
        session.add(e)
        u.events.append(e)
    session.commit()

    print(*Event.upcoming_events(session, 2), sep="\n")
示例#2
0
def postEvent(request):
    form = request.form

    if request.files['image']:
        file = request.files['image']
        name = str(time.time()).replace(".", "")
        name = name + "." + file.filename.partition(".")[-1]
        file.save(os.path.join('images\events', name))


    event = Event(
        name=form.get('name'),
        category=form.get('category'),
        description=form.get('description'),
        location=form.get('location'),
        startDate=form.get('start_date'),
        startTime=form.get('start_time'),
        endDate=form.get('end_date'),
        endTime=form.get('end_time'),
        owner=form.get('owner'),
        image=name
    )

    persister.persist_object(event)

    return "success"
示例#3
0
 def dispatch_request(self):
     username = session.pop('username', None)
     if username:
         Event(type=Event.EventType.LOGOUT,
               sender=username,
               date_register=datetime.now()).save()
     return redirect(url_for('login_view'))
示例#4
0
    def registerattendee(groupId):
        if not groupId is None:
            group = Groups.get_or_none((Groups.group_id == groupId))
            if group is None:
                # group-id not in database -> abort
                abort(404)
            else:
                event = Event.get_or_none(Event.event_id == group.event_id)
                if event is None:
                    # event_id in group is not registered
                    abort(500)
                else:
                    instance = Instance.get_or_none(
                        Instance.name == event.instance_id)
                    if instance is None:
                        abort(500)
        else:
            abort(400)
        # PLSS WHY DIDN'T I CHOOSE A JOIN

        registersuccess = request.args.get('registersuccess')
        if registersuccess is None:
            registersuccess = False

        username = request.args.get('username')

        return dict(group=group,
                    event=event,
                    instance=instance,
                    registersuccess=registersuccess,
                    username=username)
示例#5
0
def addEventToDatabase():  #member,event,event_Volenteers,Attendance
    from database import Event, Club, Member
    if request.method == 'POST':
        name = request.form['name']
        eventId = request.form['eventId']
        clubId = request.form['clubId']
        event = Event(eventId, name, clubId)
        db.session.add(event)
        db.session.commit()
        event = Event.query.filter_by(eventId=eventId).first()
        club = Club.query.filter_by(id=clubId).first()
        students = Member.query.filter_by(clubId=club.id).all()
        students = [x.email for x in students
                    ]  #list(map(lambda x : x.email, students))
        #print('sending Message', students)
        msg = Message('Event coming up notification.',
                      sender='*****@*****.**',
                      recipients=students)
        #print('Object created!')
        msg.body = "Dear Student\n We have a event coming up from the club" + club.name + "and the event is" + event.name + ".\n We request you to attend it."
        mail.send(msg)
        return 'Event added successfully!!'

    else:
        #Bad Request
        abort(400)
def create_recurring_event():
    cal = googleapiclient.discovery.build('calendar',
                                          'v3',
                                          credentials=credentials)

    event = {
        'summary': "Trail Running",
        'description': "Some description",
        'location': "Outdoors",
        'start': {
            'dateTime': "2018-08-01T14:00:00-07:00",
            'timeZone': "America/Los_Angeles"
        },
        'end': {
            'dateTime': "2018-08-01T14:30:00-07:00",
            'timeZone': "America/Los_Angeles"
        }
    }
    BRENDAN_TEST_CAL_ID = "*****@*****.**"
    g_event = cal.events().insert(calendarId=BRENDAN_TEST_CAL_ID,
                                  body=event).execute()
    test_schedule = Schedule(google_calendar_id=g_event["id"])
    db_event = Event(campus="Carp")
    db_event.schedules.append(test_schedule)
    db.session.add(db_event)
    db.session.commit()
    return "created", 201
示例#7
0
def createEvent():
    userID = login.current_user.id
    focusedUser = getFocusedUserFromCookies(request.cookies)
    if focusedUser.id != userID:
        return "Not permited."

    date = request.form.get('date')
    content = request.form.get('content')
    event = Event()
    event.userID = userID
    event.date = date
    event.content = content
    db.session.add(event)
    db.session.commit()
    logger.warning("userID = %d, create event, event date = %s" %
                   (userID, date))
    return "Good!"  #todo
示例#8
0
    def dispatch_request(self):
        username = session.get('username', None)
        if username is None:
            return redirect(url_for('login_view'))

        user = User.get_by_username(username)

        return render_template('event_list.html', events=Event.all(limit=20))
示例#9
0
文件: bd.py 项目: tokidokika/chat-bot
def save_event(d):
    event_data = Event(date=d['date'],
                       decline=d['decline'],
                       links=d['links'],
                       event=d['event_name'],
                       distance=d['distance'],
                       places=d['country'],
                       race_type=d['race_type'])
    session.add(event_data)
    session.commit()
示例#10
0
def save_event(name, n_url, location, kind, date, distances, decline, country):
    event_data = Event(date=date,
                       decline=decline,
                       links=n_url,
                       event=name,
                       distance=distances,
                       places=location,
                       race_type=kind,
                       country=country)
    session.add(event_data)
    session.commit()
示例#11
0
def postEvent(form):
    print("post event", file=sys.stderr)
    event = Event(name=form.get('name'),
                  category=form.get('category'),
                  description=form.get('description'),
                  location=form.get('location'),
                  startDate=func.now(),
                  endDate=func.now(),
                  image=str(int(time.time())))
    persister.persist_object(event)
    return "success"
示例#12
0
def create_new_event(json_event):
    '''
	#helper function to convert json values to proper Db model values
	@param: json_event (from Weconnect). event = {eid, dateStart, activitity_id, didCheckin}
	'''
    startTime = datetime.strptime(json_event["dateStart"], WC_DATE_FMT)
    duration = timedelta(minutes=int(json_event["duration"]))
    endTime = startTime + duration
    newEvent = Event(eid=json_event["eid"],
                     start_time=startTime,
                     end_time=endTime,
                     activity_id=json_event["activityId"],
                     completed=(json_event["didCheckin"] is True))
    return newEvent
def create_event():
    if 'credentials' not in session:
        return "unauthorized", 401
    cal = googleapiclient.discovery.build('calendar',
                                          'v3',
                                          credentials=credentials)
    req_data = request.get_json()
    calendar_id = CAMPUS_CALENDAR[req_data["campus"]]

    attendees = []
    addToGoogleCal = req_data["googleCalChecked"]
    if addToGoogleCal:
        attendees.append(session["email"])

    events = CreateEvent(req_data, attendees).execute()

    user = find_or_create_user(session["email"], session["name"])
    schedules = []

    for event in events:
        google_event = cal.events().insert(calendarId=calendar_id,
                                           body=event).execute()
        schedule = Schedule(google_calendar_id=google_event["id"])
        schedules.append(schedule)

    event = Event(campus=req_data["campus"])
    event.interested_users.append(user)
    event.schedules = schedules

    tags = list(req_data["tags"].keys())
    for t in tags:
        tag = find_or_create_tag(t)
        event.tags.append(tag)
    db.session.add(event)
    db.session.commit()

    return "created", 201
示例#14
0
    def dispatch_request(self):
        username = ''
        password = ''
        if request.method == "POST":
            username = request.form.get('username')
            password = request.form.get('password')

            user = User.login(username, password)
            if user is not None:
                session['username'] = username
                Event(type=Event.EventType.LOGIN,
                      sender=username,
                      date_register=datetime.now()).save()
                return redirect(url_for('event_view'))

        return render_template('login.html',
                               username=username,
                               password=password)
示例#15
0
    def dispatch_request(self):
        username = session.get('username', None)
        if username is None:
            return redirect(url_for('login_view'))

        user = User.get_by_username(username)
        if request.method == "POST":
            type = request.form.get('type')
            date_register = request.form.get('date_register')
            comment = request.form.get('comment')

            Event(type=type,
                  sender=username,
                  date_register=date_register,
                  comment=comment).save()

            return redirect(url_for('event_view'))

        return render_template('event_add.html', event_types=Event.Type)
示例#16
0
 def instance_details(instance_id):
     managers = defaultdict(list)
     i = Instance.get_or_none(Instance.name == instance_id)
     if i is None:
         return abort(404)  # todo 404 handler
     event_list = list(
         Event.select(Event, EventManagerRelation.manager).join(
             EventManagerRelation,
             on=EventManagerRelation.event == Event.event_id,
             join_type=JOIN.LEFT_OUTER).where(
                 Event.instance == instance_id).group_by(
                     Event.event_id).namedtuples())
     for ev in event_list:
         managers[ev.event_id].append(ev.manager)
     return dict(events=event_list,
                 managers=managers,
                 name=instance_id,
                 hostname=i.hostname,
                 api_key=i.api_key)
示例#17
0
    def admin(event_id: int):
        e: Event = Event.get_or_none(event_id)
        if e is None:
            abort(404)

        try:
            i: Instance = Instance.get(Instance.name == e.instance)

            api = RdyApi(i.hostname, i.api_key)
            groups = list(Groups.select().where(
                Groups.event_id == event_id).namedtuples())

        except json.decoder.JSONDecodeError:
            abort(500, 'API Key invalid!')

        except DoesNotExist:
            abort(500, 'Instance does not Exist!')

        return dict(name=e.name,
                    event_id=e.event_id,
                    instance=i.name,
                    instance_host=i.hostname,
                    groups=groups)
def _readJoystickAxisMotionEvent(event):
    Event.add('JoystickAxisMotion', [event.joy, event.axis, event.pos[0], event.pos[1]], {})
示例#19
0
def save_event(start_timestamp, lost_timestamp):
    duration = (lost_timestamp - start_timestamp).total_seconds() / 60
    ev = Event(timestamp=start_timestamp, duration=duration)
    with app.app_context():
        db.session.add(ev)
        db.session.commit()
def _readKeyDownEvent():
    pressed = pygame.key.get_pressed()
    if pressed[pygame.K_LEFT]:
        Event.add('Key', ['left'], {})
    if pressed[pygame.K_RIGHT]:
        Event.add('Key', ['right'], {})
    if pressed[pygame.K_DOWN]:
        Event.add('Key', ['down'], {})
    if pressed[pygame.K_UP]:
        Event.add('Key', ['up'], {})
    if pressed[pygame.K_z]:
        Event.add('Key', ['Z'], {})
    if pressed[pygame.K_q]:
        Event.add('Key', ['Q'], {})
    if pressed[pygame.K_s]:
        Event.add('Key', ['S'], {})
    if pressed[pygame.K_d]:
        Event.add('Key', ['D'], {})
    if pressed[pygame.K_SPACE]:
        Event.add('Key', ['SPACE'], {})
    if pressed[pygame.K_KP0]:
        Event.add('Key', ['KP0'], {})
示例#21
0
文件: detwtr.py 项目: buckket/detwtr
    def on_success(self, data):
        if "text" in data:
            payload = {}

            # skip if tweet is from bot itself
            if data["user"]["id_str"] == settings.BOT_ID:
                return

            # skip tweet if it's just a RT
            if "retweeted_status" in data:
                return

            payload["text"] = data["text"]
            payload["tweet_id"] = data["id_str"]
            payload["user"] = User.get_or_create(user_id=data["user"]["id_str"])[0]

            if "media" in data["entities"]:
                media_url = data["entities"]["media"][0]["media_url"]
                url_in_tweet = data["entities"]["media"][0]["url"]
                payload["text"] = payload["text"].replace(url_in_tweet, "")
                r = requests.get(media_url)
                payload["media"] = r.content

            # unescape HTML entities
            payload["text"] = html.unescape(payload["text"])

            # storing tweet in database
            logging.info("Adding new tweet to DB: {id} from {user}".format(id=payload["tweet_id"],
                                                                           user=payload["user"].user_id))
            tweet_db = Tweet(**payload)
            try:
                tweet_db.save()
            except IntegrityError:
                logging.error("Tweet already present in DB")

        if "delete" in data:
            logging.info("Received delete message, checking if corresponding tweet is stored: {id}".format(
                id=data["delete"]["status"]["id_str"]))

            instance = None
            try:
                instance = Tweet.get(Tweet.tweet_id == data["delete"]["status"]["id_str"])
                logging.info("Tweet found! :)")
            except DoesNotExist:
                logging.info("Tweet not found! :(")

            event_db = Event(event="delete",
                             user=User.get_or_create(user_id=data["delete"]["status"]["user_id_str"])[0],
                             tweet=instance)
            event_db.save()

            if instance:
                # mark this tweet as deleted
                instance.is_deleted = True
                instance.save()

                # add tweet to job queue
                jobs_db = Job(tweet=instance)
                try:
                    jobs_db.save()
                except IntegrityError:
                    logging.error("Tweet is already marked for restoration")

        if "status_withheld" in data:
            logging.info("Received withheld content notice, checking if corresponding tweet is stored: {id}".format(
                id=str(data["status_withheld"]["id"])))

            instance = None
            try:
                instance = Tweet.get(Tweet.tweet_id == str(data["status_withheld"]["id"]))
                logging.info("Tweet found! :)")
            except DoesNotExist:
                logging.info("Tweet not found! :(")

            event_db = Event(event="withheld",
                             user=User.get_or_create(user_id=str(data["status_withheld"]["user_id"]))[0],
                             tweet=instance)
            event_db.save()

            if instance:
                # mark this tweet as deleted
                instance.is_withheld = True
                instance.save()

                # add tweet to job queue
                jobs_db = Job(tweet=instance)
                try:
                    jobs_db.save()
                except IntegrityError:
                    logging.error("Tweet is already marked for restoration")
def _readMouseButtonUpEvent(event):
    Event.add('MouseUp', [event.pos[0], event.pos[1]], {})
示例#23
0
 def register_event():
     event_name = request.form.get('name')
     instance_id = request.form.get('instance')
     e = Event.create(name=event_name, instance=instance_id)
     return redirect(url_for('event.admin', event_id=e.event_id))
def _readMouseButtonDownEvent(event):
    Event.add('Mouse', [event.pos[0], event.pos[1]], {})
示例#25
0
    'body="Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essenti',
    tags='qqskldqlksdjklqsdj',
    img_off='klqjdlkqjskdqsldk')

session.add(post1)
session.add(post2)
session.add(post3)
session.add(post4)

print("Posts Done :)")

##############################################################

act1 = Event(
    title='Birthday of the  surf hotel',
    description=
    'body="Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essenti',
    home_img='that just for test',
    tags='qsjhjdqsdq')
act2 = Event(
    title='Event test33333',
    description=
    'body="Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essenti',
    home_img='that just for test',
    tags='qsjhjdqsdqddd')
act3 = Event(
    title='Event trial version test',
    description=
    'body="Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essenti',
    home_img='that just for test',
    tags='qsjhjdssqsdq')
act4 = Event(
def _readJoystickButtonDownEvent(event):
    Event.add('JoystickButton', [event.joy, event.button], {})
def _readJoystickBallMotionEvent(event):
    Event.add('JoystickBallMotion', [event.joy, event.ball, event.rel[0], event.rel[1]], {})
def _readJoystickHatMotionEvent(event):
    Event.add('JoystickHatMotion', [event.joy, event.hat, event.pos[0], event.pos[1]], {})
def add_events(s):
    def get_month_txt(num):
        n = int(num)
        if n == 1:
            return "January"
        if n == 2:
            return "February"
        if n == 3:
            return "March"
        if n == 4:
            return "April"
        if n == 5:
            return "May"
        if n == 6:
            return "June"
        if n == 7:
            return "July"
        if n == 8:
            return "August"
        if n == 9:
            return "September"
        if n == 10:
            return "October"
        if n == 11:
            return "November"
        if n == 12:
            return "December"
        
    def commit_or_not(event):
        print(event)
        answer = input("Save? (y/n) ")
        if len(answer) == 0:
            answer = "0"
        is_good = answer[0].lower()
        if is_good == "y":
            s.add(event)
            s.commit()
            print("Event saved")
        elif is_good == "n":
            print("Event not saved")
        else:
            commit_or_not(event)
    while True:
        name = input("name (leave blank if finished): ")
        if name == '':
            break
        year = input("year (4 digit): ")
        month = input("month (2 digit): ").zfill(2)
        month_txt = get_month_txt(month)
        day = input("date (2 digit): ").zfill(2)
        time_start = input("time to start (formatted, like '10:00am'): ")
        time_end = input("time to end (formatted, like '4:00pm'): ")
        is_two_days = input("Is this a two day show? (y/N): ")
        if len(is_two_days) == 0:
            is_two_days = "n"
        if is_two_days[0].lower() == "y":
            days = 2
            show_date = datetime.strptime(f"{day}-{month}-{year}", "%d-%m-%Y")
            show_date2 = show_date + timedelta(days=1)
            month2 = str(show_date2.month).zfill(2)
            month2_txt = get_month_txt(month2)
            day2 = str(show_date2.day).zfill(2)
            time_start2 = input("time to start 2nd day (formatted, like '10:00am'): ")
            time_end2 = input("time to end 2nd day (formatted, like '4:00 pm'): ")
        else:
            days = 1
            month2 = "none"
            day2 = "none"
            time_start2 = "none"
            time_end2 = "none"
        street_number = input("street number: ")
        street_name = input("street name: ")
        city = input("city: ")
        details = input("details (parking, entrance fee, we will be outdoors/indoors...): ")
        new_event = Event(name=name, days=days, 
                            year=year,
                            month=month, month_txt=month_txt, day=day,
                            time_start=time_start, time_end=time_end,
                            month2=month2, month2_txt=month2_txt, day2=day2,
                            time_start2=time_start2, time_end2=time_end2,
                            street_name=street_name,
                            street_number=street_number,
                            city=city,
                            details=details)
        commit_or_not(new_event)
        print()