Exemplo n.º 1
0
def main():
  # Options declaration.
  parser = OptionParser()
  (options,args) = parser.parse_args(sys.argv);

  if len(args) == 2:
    thing = open(args[1])
  elif len(args) == 1:
    thing = sys.stdin
  else:
    parser.print_help()
    sys.exit(2)

  # Print happy things if there's a user on the other side!
  tty = thing.isatty()

  if tty:
    print("* CS 609 Project")
    print("* Fall 2011")
    print("* Jason Bowman, Paul Kilgo, Houston Searcy")
    print("------------------------------------------")
    print("Type a schedule at the prompt. If it is\n",
          "well-formed, the analysis will be\n",
          "printed below. This script accepts a\n",
          "syntax similar to the one used in class.\n",
          "EXAMPLE: R1(X) W2(X) W1(X) C1 C2\n\n",
          "CTRL-D to Exit.")
    print("------------------------------------------")

  prompt(tty)

  for line in thing:
    try:
      ## Chomp off any comments.
      orig = line.strip()
      line = re.split('#+',line)[0];


      if line.strip() == "":
        if not tty: print(orig)
        prompt(tty)
        continue

      line = line.strip()
      sched = schedule(line)

      if not tty:
        print(orig)
  
      sched.printAnalysis()

    except OpFormatError as e:
      print(line + ": '" + e.expr + "': " + e.msg)

    prompt(tty)
Exemplo n.º 2
0
    def __init__(self,
                 pref_file=None,
                 schedule_file=None,
                 runhistory_file=None,
                 activitydata_file=None,
                 tempdata_file=None,
                 update_frequency=60.0,
                 downbuttons=["F11"],
                 upbuttons=["F12"]):
        self.updatelock = threading.Condition()
        self.thread = None
        self.update = False
        self.state_dirty = False
        self.next_check_time = time.time()
        self.period = update_frequency

        self.enabled = 0
        self.pid = PID(1.0, 0.0, 0.0, setpoint=70, output_limits=(0.0, 1.0))
        self.schedule = schedule(save_file=schedule_file)

        self.activity_tracker = dataTracker(1,
                                            save_file=activitydata_file,
                                            autosave_frequency=10 * 60,
                                            age_limit=24 * 60 * 60)

        self.pref_file = pref_file
        self.loadPrefs()

        self.sensor = tempSensor(tempdata_file)
        (temp, humidity) = self.sensor.read()

        self.display = displayControl()
        if self.display != None:
            self.display.updateDisplay(temp, self.pid.setpoint, 0.0)
        self.downbuttons = [
            buttonHandler(b, self.decreaseTemp) for b in downbuttons
        ] if downbuttons else []
        self.upbuttons = [
            buttonHandler(b, self.increaseTemp) for b in upbuttons
        ] if upbuttons else []

        self.control = heaterControl(save_file=runhistory_file,
                                     display=self.display)

        self.to_delete = False
        self.thread = threading.Thread(target=self.thermostatThread)
        self.thread.daemon = True
        self.thread.start()
Exemplo n.º 3
0
async def new_schedule(
        root_channel, time,
        root_user):  #time = datetime.datetime, root_user = 밑에 root_user

    print("팟 추가 함수 접근")
    global schedules
    new = schedule.schedule()
    new.set_when(time)  #시간

    new.set_who(user_custom.user(root_user.name, root_user.id))  #팟 만든 사람
    print(new.participant)

    #본인확인
    def check(message):
        return root_user == message.author

    # 게임이름 받기
    try:
        question = discord.Embed(title="같이 할 게임을 알려주세요!\n")
        question.set_footer(text="'게임이름'만 알려주세요!")
        notice1 = await root_channel.send(embed=question)

        message = await client.wait_for('message', timeout=25.0,
                                        check=check)  # 20
    except asyncio.TimeoutError:

        notice2 = await root_channel.send("시간 초과로 취소되었습니다.")
        await asyncio.sleep(25)  # 300
        await notice1.delete()
        await notice2.delete()
    else:
        await message.delete()
        await notice1.delete()
        new.set_what(message.content)

        # 팟 올리기!
        embed = make_pot_embed(new)
        msg = await message.channel.send(embed=embed)
        await msg.add_reaction("👍")  #step

        # print(message.author.id)
        # print(root_user.id)
        # print(root_user.name)

        schedules.append([msg, new, message.author.id])
        print("스케쥴 추가됨, ", schedules)
Exemplo n.º 4
0
def QueryFree():
    semester = request.args.get('semester', None)
    avoid = request.args.get('avoid', '')
    room = request.args.get('room', '')
    campus = request.args.get('campus', '')
    weekday = request.args.get('weekday', '')
    duration = request.args.get('duration', '1')
    flex = request.args.get('flex', 1)
    cap = request.args.get('cap', 1)

    start = time()

    if not semester:
        return flask.jsonify({
            'error': 'Semester is missing.',
             'duration': "%.2f" % (time()-start)
        })

    try:
        duration = int(float(duration) * 2)
        flex = int(flex)
        cap = int(cap)
    except:
        return flask.jsonify(dict(error="Duration/Flex/Cap is invalid."))

    answer = schedule.schedule(dbname = dbname,
        semester = semester,
        avoid = avoid,
        room = room,
        campus = campus,
        weekday = weekday,
        count = duration,
        flex = flex,
        cap = cap)

    if len(answer) > 1000:
        return flask.jsonify(
            dict(error="Too many solutions: %d found." % len(answer),
                 duration="%.2f" % (time()-start)))

    return flask.jsonify({
        'total': len(answer),
        'data': answer,
        'duration': "%.2f" % (time()-start)
    })
Exemplo n.º 5
0
def QueryFree():
    semester = request.args.get('semester', None)
    avoid = request.args.get('avoid', '')
    room = request.args.get('room', '')
    campus = request.args.get('campus', '')
    weekday = request.args.get('weekday', '')
    duration = request.args.get('duration', '1')
    flex = request.args.get('flex', 1)
    cap = request.args.get('cap', 1)

    start = time()

    if not semester:
        return flask.jsonify({
            'error': 'Semester is missing.',
            'duration': "%.2f" % (time() - start)
        })

    try:
        duration = int(float(duration) * 2)
        flex = int(flex)
        cap = int(cap)
    except:
        return flask.jsonify(dict(error="Duration/Flex/Cap is invalid."))

    answer = schedule.schedule(dbname=dbname,
                               semester=semester,
                               avoid=avoid,
                               room=room,
                               campus=campus,
                               weekday=weekday,
                               count=duration,
                               flex=flex,
                               cap=cap)

    if len(answer) > 1000:
        return flask.jsonify(
            dict(error="Too many solutions: %d found." % len(answer),
                 duration="%.2f" % (time() - start)))

    return flask.jsonify({
        'total': len(answer),
        'data': answer,
        'duration': "%.2f" % (time() - start)
    })
Exemplo n.º 6
0
def option(message):
	idG = up.verification(str(message.chat.id)) # получение группы из БД
	sch = schedule(idGroups[idG])               # парс расписания
	now_date = datetime.date.today()      
	weekDay = now_date.weekday()           
	dt = time.time()                            
	send = ''

	if message.text == 'На завтра':
		weekDay += 1
		dt += 86400         # +1 день времени в секундах
		if weekDay == 7:
			weekDay = 0

	send += '{} - {}:\n\n'.format(time.strftime('%d.%m.%Y', time.localtime(dt)), weekDays[weekDay])
	for i in sch[weekDay]:
		send = send + i + '\n'
	bot.send_message(message.from_user.id, send)
Exemplo n.º 7
0
def read_ids_form_df(df, centroids, first_selections, batches, dbh):

    batches = pd.DataFrame(batches)

    xxx, n_selc = np.unique(centroids.cluster.values, return_counts=True)
    limt = (np.cumprod(n_selc))[::-1]

    indices = np.zeros((len(df), N_CLUSTERS))
    ref = df.index.values

    for i in range(0, N_CLUSTERS):
        if i != N_CLUSTERS - 1:
            indices[:, (N_CLUSTERS - 1) - i] = np.trunc(ref / limt[i + 1])
            ref = ref - indices[:, N_CLUSTERS - 1 - i] * limt[i + 1]
        else:
            indices[:, (N_CLUSTERS - 1) - i] = ref

    sched_content = []

    for sel_ind in indices:
        print(sel_ind)
        id_to_db = []

        for icl in range(0, N_CLUSTERS):
            sel_crit = (first_selections.cluster == icl).values & \
                             (first_selections.label == sel_ind[icl]).values

            id_to_db.append(first_selections[sel_crit].ids.values)

        for comb in (list(itertools.product(*id_to_db))):
            prmry_ks = [item for sublist in list(comb) for item in sublist]
            nones = [None] * len(prmry_ks)
            dbh.add_schedule(tuple(zip(prmry_ks, nones)))

            from schedule import schedule
            tmp = schedule()

    import pdb
    pdb.set_trace()
    return indices
Exemplo n.º 8
0
class TestSchedule(unittest.TestCase):
    print ("Testing schedule")
    valid_2018_schedule = schedule(2018)
    valid_2018_wooster_game = {'month' : 'April', 'day' : '25', 'day_of_week' : 'Wed.', 'verses_or_at' : 'vs', 'opponent_name' : '#2 Wooster', 'neutralsite' : None , 'result' : 'L, 11-6', 'status' : 'Final'}
    valid_2018_washington_and_jefferson_game = {'month' : 'March', 'day' : '4', 'day_of_week' : 'Sun.', 'verses_or_at' : 'at', 'opponent_name' : '#4 Washington & Jefferson', 'neutralsite' : None , 'result' : 'L, 8-2', 'status' : 'Final'}
    valid_2018_allegheny_game = {'month' : 'March', 'day' : '4', 'day_of_week' : 'Sun.', 'verses_or_at' : 'vs.', 'opponent_name' : 'Allegheny','neutralsite' : '@ Washington, Pa.' , 'result' : 'W, 4-3', 'status' : 'Final'}


    def test_no_specified_scheudle_year(self):
        self.assertEqual(schedule(None).year, datetime.datetime.now().year, "The currrent year not used when no year speecified")

    def test_invalid_schedule_year(self):
        with self.assertRaises(CONNECTION_TO_WEBSITE_ERROR): schedule(9999)

    def test_valid_schedule_year(self):
        self.assertEqual(team(2015).year, 2015, "The correct year was fetched")

    def test_fetch_games_by_date_no_games(self):
        games_for_day = self.__class__.valid_2018_schedule.fetch_games_by_date("March", "2")
        self.assertEqual(games_for_day, None, "Incorrectly fetched games for date that no games occured")

    def test_fetch_games_by_date_invalid_month(self):
        games_for_day = self.__class__.valid_2018_schedule.fetch_games_by_date("blahblahblah", "2")
        self.assertEqual(games_for_day, None, "Incorrectly fetched games for invalid month date")

    def test_fetch_games_by_date_invalid_day(self):
        games_for_day = self.__class__.valid_2018_schedule.fetch_games_by_date("March", "blah")
        self.assertEqual(games_for_day, None, "Incorrectly fetched games for invalid day date")

    def test_fetch_games_by_date_single_game(self):
        games_for_day = self.__class__.valid_2018_schedule.fetch_games_by_date('April', '25')
        self.assertEqual(len(games_for_day), 1, "Fetched incorrect number of games for date")
        game = games_for_day[0]
        self.assertEqual(game.month,  self.__class__.valid_2018_wooster_game['month'], "Fetched game month incorrectly")
        self.assertEqual(game.day, self.__class__.valid_2018_wooster_game['day'], "Fetched game day incorrectly")
        self.assertEqual(game.day_of_week, self.__class__.valid_2018_wooster_game['day_of_week'], "Fetched game day of week incorrectly")
        self.assertEqual(game.verses_or_at,  self.__class__.valid_2018_wooster_game['verses_or_at'], "Fetched game vs or at incorrectly")
        self.assertEqual(game.opponent_name, self.__class__.valid_2018_wooster_game['opponent_name'], "Fetched game opponent name incorrectly")
        self.assertEqual(game.neutral_site, self.__class__.valid_2018_wooster_game['neutralsite'], "Fetched game neutral site incorrectly")
        self.assertEqual(game.result,  self.__class__.valid_2018_wooster_game['result'], "Fetched game result incorrectly")
        self.assertEqual(game.status, self.__class__.valid_2018_wooster_game['status'], "Fetched game status incorrectly")

    def test_fetch_games_by_date_multiple_games(self):
        games_for_day = self.__class__.valid_2018_schedule.fetch_games_by_date('March', '4')
        self.assertEqual(len(games_for_day), 2, "Fetched incorrect number of games for date")
        game_one = games_for_day[0]
        game_two = games_for_day[1]
        self.assertEqual(game_one.month,  self.__class__.valid_2018_washington_and_jefferson_game['month'], "Fetched game month incorrectly")
        self.assertEqual(game_one.day, self.__class__.valid_2018_washington_and_jefferson_game['day'], "Fetched game day incorrectly")
        self.assertEqual(game_one.day_of_week, self.__class__.valid_2018_washington_and_jefferson_game['day_of_week'], "Fetched game day of week incorrectly")
        self.assertEqual(game_one.verses_or_at,  self.__class__.valid_2018_washington_and_jefferson_game['verses_or_at'], "Fetched game vs or at incorrectly")
        self.assertEqual(game_one.opponent_name, self.__class__.valid_2018_washington_and_jefferson_game['opponent_name'], "Fetched game opponent name incorrectly")
        self.assertEqual(game_one.neutral_site, self.__class__.valid_2018_washington_and_jefferson_game['neutralsite'], "Fetched game neutral site incorrectly")
        self.assertEqual(game_one.result,  self.__class__.valid_2018_washington_and_jefferson_game['result'], "Fetched game result incorrectly")
        self.assertEqual(game_one.status, self.__class__.valid_2018_washington_and_jefferson_game['status'], "Fetched game status incorrectly")

        self.assertEqual(game_two.month,  self.__class__.valid_2018_allegheny_game['month'], "Fetched game month incorrectly")
        self.assertEqual(game_two.day, self.__class__.valid_2018_allegheny_game['day'], "Fetched game day incorrectly")
        self.assertEqual(game_two.day_of_week, self.__class__.valid_2018_allegheny_game['day_of_week'], "Fetched game day of week incorrectly")
        self.assertEqual(game_two.verses_or_at,  self.__class__.valid_2018_allegheny_game['verses_or_at'], "Fetched game vs or at incorrectly")
        self.assertEqual(game_two.opponent_name, self.__class__.valid_2018_allegheny_game['opponent_name'], "Fetched game opponent name incorrectly")
        self.assertEqual(game_two.neutral_site, self.__class__.valid_2018_allegheny_game['neutralsite'], "Fetched game neutral site incorrectly")
        self.assertEqual(game_two.result,  self.__class__.valid_2018_allegheny_game['result'], "Fetched game result incorrectly")
        self.assertEqual(game_two.status, self.__class__.valid_2018_allegheny_game['status'], "Fetched game status incorrectly")
Exemplo n.º 9
0
from flask import Flask, request, render_template, redirect, session
from datetime import date
import subprocess
from functools import wraps
from flask import Response
from schedule import schedule
import settings

app = Flask(__name__)
schedule()

app.secret_key = settings.secret_key

@app.route("/", methods=['GET', 'POST'])
def index():
    if request.method == "POST":
        if request.form['passkey'] == settings.passkey:
            session['logged_in'] = True
            return redirect("/welcome/")
    else:
        session['logged_in'] = False
        return render_template("%s.html" % "index")

@app.route("/welcome/", methods=['GET'])
def welcome():
    if session['logged_in']:
        if 'logout' in request.args.keys():
            session.clear()
            return redirect("/")

        with open(settings.database, encoding='utf8') as f:
Exemplo n.º 10
0
    def initUI(self):
        # 背景颜色
        col = QColor("black")
        self.setStyleSheet("QWidget { background-color: %s }" % col.name())

        textCol = QPalette()
        textCol.setColor(QPalette.WindowText, Qt.white)

        #标签-时间
        self.label1 = QLabel(self)
        self.label1.setAlignment(Qt.AlignCenter)
        self.label1.setText(time.strftime("%I:%M", time.localtime()))
        self.label1.setPalette(textCol)
        self.label1.setFont(QFont("Helvetica", 48))
        self.label1.move(780, 20)

        #标签-温度
        self.label3 = QLabel(self)
        self.label3.setAlignment(Qt.AlignCenter)
        text = wenshidu.wenshi()
        te = str(text[0])
        self.label3.setText('温度:' + te + '℃')
        self.label3.setPalette(textCol)
        self.label3.setFont(QFont("Helvetica", 18))
        self.label3.move(50, 710)

        #标签-湿度
        self.label4 = QLabel(self)
        self.label4.setAlignment(Qt.AlignCenter)
        text = wenshidu.wenshi()
        te = str(text[1])
        self.label4.setText('湿度:' + te + '%')
        self.label4.setPalette(textCol)
        self.label4.setFont(QFont("Helvetica", 18))
        self.label4.move(860, 710)

        #标签-城市
        self.label6 = QLabel(self)
        self.label6.setAlignment(Qt.AlignCenter)
        self.label6.setText('镇江')
        self.label6.setPalette(textCol)
        self.label6.setFont(QFont("Helvetica", 48))
        self.label6.move(50, 20)

        #标签-天气
        self.label7 = QLabel(self)
        self.label7.setAlignment(Qt.AlignCenter)
        text7 = weather.weather()
        self.label7.setText(text7['type'])
        self.label7.setPalette(textCol)
        self.label7.setFont(QFont("Helvetica", 28))
        self.label7.move(200, 30)

        #标签-最高温度
        self.label8 = QLabel(self)
        self.label8.setAlignment(Qt.AlignCenter)
        text8 = weather.weather()
        self.label8.setText(text8['high'] + '  ~')
        self.label8.setPalette(textCol)
        self.label8.setFont(QFont("Helvetica", 18))
        self.label8.move(50, 100)

        #标签-最低温度
        self.label9 = QLabel(self)
        self.label9.setAlignment(Qt.AlignCenter)
        text9 = weather.weather()
        self.label9.setText(text9['low'])
        self.label9.setPalette(textCol)
        self.label9.setFont(QFont("Helvetica", 18))
        self.label9.move(200, 100)

        #标签-当天日期
        self.label10 = QLabel(self)
        self.label10.setAlignment(Qt.AlignCenter)
        text10 = str(datetime.date.today())
        self.label10.setText(text10)
        self.label10.setPalette(textCol)
        self.label10.setFont(QFont("Helvetica", 18))
        self.label10.move(825, 100)

        #标签-星期数
        self.label11 = QLabel(self)
        self.label11.setAlignment(Qt.AlignCenter)
        dayOfWeek = str(time.strftime("%A", time.localtime()))
        self.label11.setText(dayOfWeek)
        self.label11.setPalette(textCol)
        self.label11.setFont(QFont("Helvetica", 16))
        self.label11.move(900, 140)

        #标签Title-NEWS
        self.news_tt = QLabel(self)
        self.news_tt.setText('News')
        self.news_tt.setPalette(textCol)
        self.news_tt.setFont(QFont("Helvetica", 28))
        self.news_tt.move(50, 600)
        #标签-新闻爬虫
        self.newsCont = QLabel(self)
        new = "新闻爬虫_新闻爬虫_新闻爬虫_新闻爬虫_新闻爬虫_新闻爬虫_新闻爬虫_新闻爬虫_"
        self.newsCont.setText(new)
        self.newsCont.setPalette(textCol)
        self.newsCont.setFont(QFont("Helvetica", 18))
        self.newsCont.setGeometry(50, 650, 900, 30)
        self.newsCont.move(50, 650)

        #标签-Event
        #标签Title-Event
        self.memo = QLabel(self)
        self.memo.setText('备忘录')
        self.memo.setPalette(textCol)
        self.memo.setFont(QFont("Helvetica", 28))
        self.memo.move(50, 220)
        #memodata
        data_memo = ["title", "备忘录", "备忘录__备忘录__备忘录__备忘录__备忘录__备忘录__"]
        #memo-content
        self.memoCont = QLabel(self)
        self.memoCont.setText(data_memo[1] + ":" + data_memo[2])
        self.memoCont.setPalette(textCol)
        self.memoCont.setFont(QFont("Helvetica", 18))
        self.memoCont.move(50, 300)

        #标签-烟雾
        self.label15 = QLabel(self)
        #yan=smoke.smoke()
        yan = "dangerous"
        self.label15.setText('烟雾:' + yan)
        self.label15.setPalette(textCol)
        self.label15.setFont(QFont("Helvetica", 18))
        self.label15.move(460, 710)

        #标签Title-Schedule
        self.sch_tt = QLabel(self)
        self.sch_tt.setText('课程表')
        self.sch_tt.setPalette(textCol)
        self.sch_tt.setFont(QFont("Helvetica", 28))
        self.sch_tt.move(820, 220)
        #scheduledata
        data_sch = schedule.schedule()
        #schedule-first第一节
        self.sch1 = QLabel(self)
        self.sch1.setText('第一节: ' + data_sch[0])
        self.sch1.setPalette(textCol)
        self.sch1.setFont(QFont("Helvetica", 18))
        self.sch1.move(720, 300)
        #schedule-second
        self.sch2 = QLabel(self)
        self.sch2.setText('第二节: ' + data_sch[1])
        self.sch2.setPalette(textCol)
        self.sch2.setFont(QFont("Helvetica", 18))
        self.sch2.move(720, 340)
        #schedule-third
        self.sch3 = QLabel(self)
        self.sch3.setText('第三节: ' + data_sch[2])
        self.sch3.setPalette(textCol)
        self.sch3.setFont(QFont("Helvetica", 18))
        self.sch3.move(720, 380)
        #schedule-fourth
        self.sch4 = QLabel(self)
        self.sch4.setText('第四节: ' + data_sch[3])
        self.sch4.setPalette(textCol)
        self.sch4.setFont(QFont("Helvetica", 18))
        self.sch4.move(720, 420)
        #schedule-fifth
        self.sch5 = QLabel(self)
        self.sch5.setText('第五节: ' + data_sch[4])
        self.sch5.setPalette(textCol)
        self.sch5.setFont(QFont("Helvetica", 18))
        self.sch5.move(720, 460)

        #新建一个QTimer对象
        self.timer = QTimer()
        self.timer.setInterval(1000)
        self.timer.start()
        # 信号连接到槽
        self.timer.timeout.connect(self.onTimerOut)

        #绝对定位
        self.setGeometry(0, 0, 1024, 768)
        self.setWindowTitle('绝对定位')
        self.show()
Exemplo n.º 11
0
 def test_no_specified_scheudle_year(self):
     self.assertEqual(schedule(None).year, datetime.datetime.now().year, "The currrent year not used when no year speecified")
Exemplo n.º 12
0
    df_reorder.to_csv('/var/www/html/model/data/orderedresults.csv',
                      index=False)


def truncate(f, n):
    '''Truncates/pads a float f to n decimal places without rounding'''
    s = '{}'.format(f)
    if 'e' in s or 'E' in s:
        return '{0:.{1}f}'.format(f, n)
    i, p, d = s.partition('.')
    return '.'.join([i, (d + '0' * n)[:n]])


main_page()
print("hi")
data = schedule()
mapTerms(team_datas)
print("Data:", data)
for team in team_datas:
    print(team['school'])

print("-" * 40)
results = comparison(data)
print('Results: ', results)
release(results)
reorder()
# fourFactor()
# print team_fours

# with open('kenpom.csv', 'w') as output_file:
# 	dict_writer = csv.DictWriter(output_file, team_datas[0].keys())
Exemplo n.º 13
0
                found = True

        if found == True:
            cursor = gconn.execute('SELECT weather from weather ORDER BY datetime DESC LIMIT 1')
            for row in cursor:
                weatherstring =  row[0]
        else:
            weatherstring = 'Weather information is currently unavailable.'

        gconn.close()

        return weatherstring

if scheduleEnabled == True:
    from schedule import schedule
    guischedule = schedule()
    def getSched():
        # Get the active schedule, if any
        gconn = sqlite3.connect("status.db",10)
        found = False
        # daemon status.db schedule, not the schedule class db
        cursor = gconn.execute("SELECT COUNT(datetime) FROM schedule")
        schedulename = ''
        scheduleactive = 0
        for row in cursor:
            if row[0] > 0:
                found = True

        if found == True:
            cursor = gconn.execute('SELECT name, active FROM schedule ORDER BY datetime DESC LIMIT 1')
Exemplo n.º 14
0
        if found == True:
            cursor = conn.execute('SELECT weather from weather ORDER BY datetime DESC LIMIT 1')
            for row in cursor:
                weatherstring = row[0]
        else:
            weatherstring = 'Weather information is currently unavailable.'

        conn.close()

        return weatherstring

# Schedule display functions
if scheduleEnabled == True:
    from schedule import schedule
    webschedule = schedule()
    schedulename = ''

    def _getSched(json=False):
        global schedulename
        # Get the active schedule, if any
        gconn = sqlite3.connect("status.db",10)
        found = False
        # daemon status.db schedule, not the schedule class db
        cursor = gconn.execute("SELECT COUNT(datetime) FROM schedule")
#        schedulename = ''
        scheduleactive = 0
        for row in cursor:
            if row[0] > 0:
                found = True
Exemplo n.º 15
0
#!/usr/bin/env python
# encoding: utf-8

import sys
from parser import parse
from serializer import serialize
from schedule import schedule

if len(sys.argv) < 2:
    sys.exit("did you forget sth.?")

inFileName = sys.argv[1]
outFileName = sys.argv[2]

state = parse(inFileName)
commands = schedule(state)
serialize(outFileName, commands)
Exemplo n.º 16
0
def run_mafft_batch(input_files):
    return list(schedule.schedule(run_mafft, input_files, N_PROCESSES))
Exemplo n.º 17
0
    def initUI(self):
        # 背景颜色
        col = QColor("black")
        self.setStyleSheet("QWidget { background-color: %s }" % col.name())

        textCol = QPalette()
        textCol.setColor(QPalette.WindowText, Qt.white)

        #天气模块
        #标签-城市
        self.city = QLabel(self)
        self.city.setAlignment(Qt.AlignCenter)
        self.city.setText('镇江')
        self.city.setPalette(textCol)
        self.city.setFont(QFont("Helvetica", 48))
        self.city.move(50, 20)
        #标签-天气
        self.wea = QLabel(self)
        self.wea.setAlignment(Qt.AlignCenter)
        weaCon = weather.weather()
        self.wea.setText(weaCon['type'])
        self.wea.setPalette(textCol)
        self.wea.setFont(QFont("Helvetica", 28))
        self.wea.move(200, 30)
        #标签-最高温度
        self.high = QLabel(self)
        self.high.setAlignment(Qt.AlignCenter)
        highCon = weather.weather()
        self.high.setText(highCon['high'] + '  ~')
        self.high.setPalette(textCol)
        self.high.setFont(QFont("Helvetica", 18))
        self.high.move(50, 100)
        #标签-最低温度
        self.low = QLabel(self)
        self.low.setAlignment(Qt.AlignCenter)
        lowCon = weather.weather()
        self.low.setText(lowCon['low'])
        self.low.setPalette(textCol)
        self.low.setFont(QFont("Helvetica", 18))
        self.low.move(200, 100)

        #时间模块
        #标签-时间
        self.time = QLabel(self)
        self.time.setAlignment(Qt.AlignCenter)
        self.time.setText(time.strftime("%I:%M", time.localtime()))
        self.time.setPalette(textCol)
        self.time.setFont(QFont("Helvetica", 48))
        self.time.move(780, 20)
        #标签-当天日期
        self.date = QLabel(self)
        self.date.setAlignment(Qt.AlignCenter)
        dateCon = str(datetime.date.today())
        self.date.setText(dateCon)
        self.date.setPalette(textCol)
        self.date.setFont(QFont("Helvetica", 18))
        self.date.move(825, 100)
        #标签-星期数
        self.week = QLabel(self)
        self.week.setAlignment(Qt.AlignCenter)
        dayOfWeek = str(time.strftime("%A", time.localtime()))
        self.week.setText(dayOfWeek)
        self.week.setPalette(textCol)
        self.week.setFont(QFont("Helvetica", 16))
        self.week.move(900, 140)

        #备忘录模块
        #标签Title-Memo
        self.memo = QLabel(self)
        self.memo.setText('备忘录')
        self.memo.setPalette(textCol)
        self.memo.setFont(QFont("Helvetica", 28))
        self.memo.move(50, 220)
        #memodata
        data_memo = memo.memo()
        #memo-content
        self.memoCont = QLabel(self)
        self.memoCont.setText(data_memo[2])
        self.memoCont.setPalette(textCol)
        self.memoCont.setFont(QFont("Helvetica", 18))
        self.memoCont.move(50, 300)

        #课程表模块
        #标签Title-Schedule
        self.sch_tt = QLabel(self)
        self.sch_tt.setText('课程表')
        self.sch_tt.setPalette(textCol)
        self.sch_tt.setFont(QFont("Helvetica", 28))
        self.sch_tt.move(820, 220)
        #scheduledata
        data_sch = schedule.schedule()
        #schedule-first第一节
        self.sch1 = QLabel(self)
        self.sch1.setText('第一节: ' + data_sch[0])
        self.sch1.setPalette(textCol)
        self.sch1.setFont(QFont("Helvetica", 18))
        self.sch1.move(720, 300)
        #schedule-second
        self.sch2 = QLabel(self)
        self.sch2.setText('第二节: ' + data_sch[1])
        self.sch2.setPalette(textCol)
        self.sch2.setFont(QFont("Helvetica", 18))
        self.sch2.move(720, 340)
        #schedule-third
        self.sch3 = QLabel(self)
        self.sch3.setText('第三节: ' + data_sch[2])
        self.sch3.setPalette(textCol)
        self.sch3.setFont(QFont("Helvetica", 18))
        self.sch3.move(720, 380)
        #schedule-fourth
        self.sch4 = QLabel(self)
        str4 = data_sch[3]
        self.sch4.setText('第四节: ' + data_sch[3])
        self.sch4.setPalette(textCol)
        self.sch4.setFont(QFont("Helvetica", 18))
        self.sch4.move(720, 420)
        #schedule-fifth
        self.sch5 = QLabel(self)
        str5 = data_sch[4]
        self.sch5.setText('第五节: ' + data_sch[4])
        self.sch5.setPalette(textCol)
        self.sch5.setFont(QFont("Helvetica", 18))
        self.sch5.move(720, 460)

        #新闻模块
        #标签Title-NEWS
        self.news_tt = QLabel(self)
        self.news_tt.setText('News')
        self.news_tt.setPalette(textCol)
        self.news_tt.setFont(QFont("Helvetica", 28))
        self.news_tt.move(50, 600)
        #标签-新闻爬虫
        self.newsCont = QLabel(self)
        new = news.new()
        self.newsCont.setText(new)
        self.newsCont.setPalette(textCol)
        self.newsCont.setFont(QFont("Helvetica", 18))
        self.newsCont.setGeometry(50, 650, 900, 30)
        self.newsCont.move(50, 650)

        #传感器模块
        #标签-温度
        self.wen = QLabel(self)
        self.wen.setAlignment(Qt.AlignCenter)
        wenCon = wenshidu.wenshi()
        self.wen.setText('温度:' + str(wenCon[0]) + '℃')
        self.wen.setPalette(textCol)
        self.wen.setFont(QFont("Helvetica", 18))
        self.wen.move(50, 710)
        #标签-湿度
        self.shi = QLabel(self)
        self.shi.setAlignment(Qt.AlignCenter)
        shiCon = wenshidu.wenshi()
        self.shi.setText('湿度:' + str(shiCon[1]) + '%')
        self.shi.setPalette(textCol)
        self.shi.setFont(QFont("Helvetica", 18))
        self.shi.move(860, 710)
        #标签-烟雾
        self.smoke = QLabel(self)
        yan = smoke.smoke()
        self.smoke.setText('烟雾:' + yan)
        self.smoke.setPalette(textCol)
        self.smoke.setFont(QFont("Helvetica", 18))
        self.smoke.move(460, 710)

        #新建一个QTimer对象
        self.timer = QTimer()
        self.timer.setInterval(1000)
        self.timer.start()
        # 信号连接到槽
        self.timer.timeout.connect(self.onTimerOut)

        #绝对定位
        self.setGeometry(0, 0, 1024, 768)
        self.setWindowTitle('绝对定位')
        self.show()
Exemplo n.º 18
0
    os.setsid()
    try:
        pid = os.fork()
        if pid > 0:
            sys.exit(0)
    except OSError, e:
        print "daemonize fork#2 failed: (%d) %s\n" % (e.errno, e.strerror)
        sys.exit(1)


if __name__ == "__main__":
    pid_file = "./schedule.pid"
    if len(sys.argv) != 2:
        print sys.argv[0] + " [start|stop]"
        sys.exit(1)
    op = sys.argv[1]
    pid = get_pid(pid_file)
    if op == "start":
        if pid:
            print "schedule already exists"
        else:
            daemonize()
            schedule(pid_file)
    elif op == "stop":
        if not pid:
            print "schedule does not exist"
        else:
            os.kill(int(pid), signal.SIGTERM)
    else:
        print sys.argv[0] + " [start|stop]"
            #left powerhead stuff
            if self.leftPowerheadScheduleCurrent.getCurrentState(
                [currentTime[3], currentTime[4]]):
                self.leftPowerhead.On()
                self.lefPowerheadCurrent = True
            else:
                self.leftPowerhead.Off()
                self.lefPowerheadCurrent = False

            #right powerhead stuff
            if self.rightPowerheadScheduleCurrent.getCurrentState(
                [currentTime[3], currentTime[4]]):
                self.rightPoerhead.On()
                self.rightPowerheadCurrent = True
            else:
                self.rightPoerhead.Off()
                self.rightPowerheadCurrent = False
            self.updateGUI()
            t.sleep(60)


# GUI Stuff

    def updateGUI(self):
        print(self.leftPowerhead.getStatus(), "      ",
              self.rightPoerhead.getStatus())

phc = powerheadController()
rs = schedule.schedule()
Exemplo n.º 20
0
from schedule import schedule
if __name__ == '__main__':
    test = schedule()
    test.run()
Exemplo n.º 21
0
            start = randomDate("1/9/2016 0:0", "1/11/2016 0:0",
                               random.random())
            finish = randomDate(start, "1/11/2016 0:0", random.random())
            input_file.write("Job%s\t%s\t%s\n" % (str(i), start, finish))


def randomIntervals(n):
    createInputFile(n)
    intervals = []
    with open("input.txt", "r") as input_file:
        next(input_file)
        for line in input_file:
            job_id, start, finish = line.rstrip().split("\t")
            intervals.append(
                Interval(job_id, getTimeFromStr(start),
                         getTimeFromStr(finish)))
    return intervals


if __name__ == '__main__':
    n = 10
    intervals = randomIntervals(n)
    scheduled_intervals = schedule(intervals)

    with open('output.txt', 'w+') as output_file:
        output_file.write("Job_ID\tStart_Time\tFinish_Time\n")
        for i in scheduled_intervals:
            output_file.write(
                "%s\t%s\t%s\n" % (i.job_id, getStrFromTime(
                    i.start_time), getStrFromTime(i.finish_time)))
Exemplo n.º 22
0
 def test_scheduleCreationAssembly(self):	
     scheduleA = schedule('Max Mustermann', blockCreator(), "Wendnesday", "Thursday")	
     self.assertEqual(scheduleA.assembly, "Thursday")
Exemplo n.º 23
0
        },
        'internship': {
            'duration': '3-6个月',  # 无
            'level': '国内知名企业',  # 默认
            'recommendation': '直属领导推荐',  # 默认
        },
        'scholarship': {
            'level': '校一等奖学金',  # 校级一等奖
        },
        'activity': {
            'duration': '3-6个月',
            'type': '国内志愿者',  #
        },
        'competition': {
            'level':  '',  # 默认值
        },
    }
    condition = {}
    #condition = translateFromFrontToBack(orig_condition)


    grade = '‘大二’'
    target_level = 1
    print str(ttt).decode('utf-8')
    if ttt['major'] == '法学':
        print ttt['current-school']

    result = schedule(ttt)
    #输出结果
    #print json.dumps(result, ensure_ascii=False, indent=4)
Exemplo n.º 24
0
 def test_invalid_schedule_year(self):
     with self.assertRaises(CONNECTION_TO_WEBSITE_ERROR): schedule(9999)
Exemplo n.º 25
0
 def test_scheduleCreationStudent(self):	
     scheduleA = schedule('Max Mustermann', blockCreator(), "Wendnesday", "Thursday")	
     self.assertEqual(scheduleA.student, "Max Mustermann")	
Exemplo n.º 26
0
 def test_scheduleCreationGradeLevel(self):	
     scheduleA = schedule('Max Mustermann', blockCreator(), "Wendnesday", "Thursday")	
     self.assertEqual(scheduleA.gradeLevel, "Wendnesday")	
Exemplo n.º 27
0
def run_pasta_batch(input_files, output_base="../result/pasta_output"):
    mkdir_if_not_exists(output_base)
    args = list()
    for f in input_files:
        args.append((f, os.path.join(output_base, os.path.basename(f))))
    return list(schedule.schedule(run_pasta_worker, args, N_PROCESSES))
Exemplo n.º 28
0
def main():
    schedule.schedule()
    print("End of Main")