Exemple #1
0
    def post(self):
        try:
            decoder = json.JSONDecoder()
            trk = self.request.get('track')
            if not trk:
                raise Err("no track found")
                            
            data = decoder.decode(trk)
            uploadtime = datetime.datetime.now()
            
            distance = int(data['distance'])
            track = Track(uuid=data['uuid'], uploadtime=uploadtime, distance=distance)
            
            counter = Counter.get_by_key_name('distance')
            if not counter:
                counter = Counter(key_name='distance',value=24000)
            counter.value += distance
            counter.put()

            number = Counter.get_by_key_name('number')
            if not number:
                number = Counter(key_name='number',value=130)
            number.value += 1
            number.put()

            track.raw = trk
            track.put()

#            for p in data['track']:
#                point = Point(parent=track, lat=p['lat'], lng=p['long'], acc=p['acc'], ts=datetime.datetime.fromtimestamp(p['ts']))
#                point.put()

            self.response.out.write('{"success":true}')
        except Err, e:
            self.response.out.write('{"success":false, "error":"%s"}' % e.message)
Exemple #2
0
    def get(self):
        dist = Counter.get_by_key_name('distance')
#        if not dist:
#            dist = Counter(key_name='distance', value=0)
#            dist.put()
        totaldistance = dist.value

        number = Counter.get_by_key_name('number')
#        if not number:
#            number = Counter(key_name='number', value=0)
#            number.put()
        totaltracks = number.value

        my_n = 0
        my_m = 0
        if self.request.get('uid'):
            trk_q = db.GqlQuery("SELECT * FROM Track WHERE uuid='%s'" % self.request.get('uid'))
            trks = trk_q.fetch(1000)
            if not trks:
                logging.warn('no tracks for this uid (yet)')

            for trk in trks:
                my_m += trk.distance
                my_n += 1

            self.response.out.write('{"totalDistance":%d, "totalTracks":%d, "myDistance":%d, "myTracks":%d}' % (totaldistance, totaltracks, my_m, my_n))


        else:
            self.response.out.write('{"totalDistance":%d, "totalTracks":%d}' % (totaldistance, totaltracks))
Exemple #3
0
	def drawStateBoard(self, grid, players, lvlTime, localRecord, worldRecord):
		""" Prints data on state board """
		scr = self.screens['STATEBOARD']
		posX = MENU_SPACE_S
		posY = MENU_SPACE_M

		### LEVEL METADATA ###
		# Level label
		posY = scr.drawText(text=MENU_LEVEL_LBL, color=GLOBAL_LABEL_COLOR, size=MENU_LBL_SZ_S, posX=posX, posY=posY, bold=1)
		# Level title
		posY = scr.drawText(text=grid.lvlName, color=GLOBAL_MENU_COLOR, size=MENU_LBL_SZ_S, posX=posX, posY=posY, bold=1)
		# Author label
		posY += MENU_SPACE_M
		posY = scr.drawText(text=MENU_AUTHOR_LBL, color=GLOBAL_LABEL_COLOR, size=MENU_LBL_SZ_S, posX=posX, posY=posY, bold=1)
		# Level author
		posY = scr.drawText(text=grid.lvlAuthor, color=GLOBAL_MENU_COLOR, size=MENU_LBL_SZ_S, posX=posX, posY=posY, bold=1)


		### PLAYER INFO ###
		posY += MENU_SPACE_M*2
		for p in players:
			# Name
			posY += MENU_SPACE_M
			posY = scr.drawText(text=p.name, color=p.color, size=MENU_LBL_SZ_S, posX=posX, posY=posY, bold=1)

			# Lives icons
			posY += MENU_SPACE_S
			for i in range (p.lives):
				obj = Bunch(posX=scr.width-MENU_SPACE_S-(BALL_RADIUS+i*(BALL_RADIUS*2+MENU_SPACE_S)), posY=posY+BALL_RADIUS, radius=BALL_RADIUS, color=p.color, border=False)
				scr.drawObject(obj, SHAPE['CIRCLE'])
			# Lives label
			posY = scr.drawText(text=MENU_LIVES_LBL, color=GLOBAL_MENU_COLOR, size=MENU_LBL_SZ_XS, posX=posX, posY=posY, bold=1)

			# Level score value
			posY += MENU_SPACE_S
			scr.drawText(text=str(p.scores[0].value), color=p.color, size=MENU_LBL_SZ_XS, posX=posX, posY=posY, bold=1, alignH=TEXT_ALIGN['H']['RIGHT'])
			# Level score label
			posY = scr.drawText(text=SCORE_LVL_LBL, color=GLOBAL_MENU_COLOR, size=MENU_LBL_SZ_XS, posX=posX, posY=posY, bold=1)
			# Total score value
			posY += MENU_SPACE_S
			scr.drawText(text=str(p.totalScore), color=p.color, size=MENU_LBL_SZ_XS, posX=posX, posY=posY, bold=1, alignH=TEXT_ALIGN['H']['RIGHT'])
			# Level score label
			posY = scr.drawText(text=SCORE_TOTAL_LBL, color=GLOBAL_MENU_COLOR, size=MENU_LBL_SZ_XS, posX=posX, posY=posY, bold=1)

		### TIME ###
		posY += MENU_SPACE_M*4
		# Time value
		scr.drawText(text=str(lvlTime.formatCounter(2)), color=GLOBAL_MENU_COLOR, size=MENU_LBL_SZ_S, posX=posX, posY=posY, bold=1, alignH=TEXT_ALIGN['H']['RIGHT'])
		# Time label
		scr.drawText(text=MENU_TIME_LBL, color=GLOBAL_LABEL_COLOR, size=MENU_LBL_SZ_S, posX=posX, posY=posY, bold=1)
		# Local Record
		if localRecord:
			posY += MENU_SPACE_M*2
			scr.drawText(text=str(Counter.staticFormat(localRecord, 2)), color=GLOBAL_MENU_COLOR, size=MENU_LBL_SZ_S, posX=posX, posY=posY, bold=1, alignH=TEXT_ALIGN['H']['RIGHT'])
			scr.drawText(text=MENU_LOCAL_TIME_LBL, color=GLOBAL_LABEL_COLOR, size=MENU_LBL_SZ_S, posX=posX, posY=posY, bold=1)
		# World Record
		if worldRecord:
			posY += MENU_SPACE_M*2
			scr.drawText(text=str(Counter.staticFormat(worldRecord, 2)), color=GLOBAL_MENU_COLOR, size=MENU_LBL_SZ_S, posX=posX, posY=posY, bold=1, alignH=TEXT_ALIGN['H']['RIGHT'])
			scr.drawText(text=MENU_WORLD_TIME_LBL, color=GLOBAL_LABEL_COLOR, size=MENU_LBL_SZ_S, posX=posX, posY=posY, bold=1)
Exemple #4
0
 def create():
     a = connection.UserDB()
     a['id'] = Counter.insert('user')
     a['requisites'] = RequisitesDB.create()['_id']
     a['emailsettings'] = EmailSettingsDB.create()['_id']
     a.save() 
     return a
Exemple #5
0
 def __str__(self):
     return "Recording : Id %i; Counter : %s; Date : %s ; Value : %i" % (
         self.id,
         Counter.findById(self.idcounter).name,
         self.date.strftime("%Y-%m-%d %H:%M:%S"),
         self.value,
     )
Exemple #6
0
def count(request):
	url = request.GET.get('url')	

	if (url == None):
		return HttpResponseBadRequest("Need to specify a url") 

	return render_to_response('count_results.html', {'url': url, 'results': Counter.count(url)})
Exemple #7
0
    def createNewUserGroup(cls, name, permissions=None):
        '''
        创建新的用户组
        :return:
        '''
        userGroup = UserGroup(name=name)

        ''' 配置用户组权限 '''
        if permissions is None:
            userGroup.permissions = PM.defaultPms()
        else:
            userGroup.setPms(permissions)

        if not userGroup.is_valid():
            raise ValueError(userGroup.errors)

        ''' 设置用户组id和用户组名 '''
        counter = Counter.obj()
        counter.incr(Counter.userGroup)
        userGroup.id = counter.ugid

        ''' 存库 '''
        userGroup.save()

        return userGroup
Exemple #8
0
 def create_simple(user_id, contractor_id, content_id, number, date_created):
     b = connection.BillDB()
     b['user'] = user_id
     b['contractor'] = contractor_id
     b['content'] = content_id
     b['number'] = number
     b['date_created'] = date_created
     b['id'] = Counter.insert('bill')
     b.save()
     return b
	def getLvlBestTrophy(self):
		""" Returns best trophy won for the current level """
		if self.grid.refTime:
			# Get best time for the level
			bestTime = self.players[0].getTime(self.grid.hashsum.hexdigest())

			# Get matching trophy
			if bestTime:
				for trophy, time in self.grid.refTime.iteritems():
					if Counter.getFrameFromSec(time)-bestTime >= 0:
						return trophy
		return None
Exemple #10
0
    def get(self):

        
        template = Template(filename="index.html",
                            input_encoding='utf8',
                            output_encoding='utf8')
        
        distance = Counter.get_by_key_name('distance')

        if not distance:
            km = 0
        else:
            km = distance.value/1000

        output = template.render(kilometers=km)
        self.response.out.write(output)
Exemple #11
0
    def on_validate(self):
        idx_counter = self.comboCounter.currentIndex()
        value_counter = int(self.lEdit.text())

        if idx_counter == 0 or value_counter == "":
            self.close()
            return

        allcounters = Counter.findAll()
        counter = allcounters[idx_counter-1]

        r = Recording(counter.id, self.current_date, value_counter)
        r.insert()

        self.closed.emit()
        self.close()
Exemple #12
0
 def create_from_data(cls, data):
     new_obj = connection[cls.__name__]()
     keys = cls.skeleton.keys()
     for k in keys:
         if k in data:
             if cls.skeleton[k] == ObjectId:
                 new_obj[k] = ObjectId(data[k])
             else:
                 new_obj[k] = data[k]
         else:
             logging.warning(u'Ключ %s не обнаружен в skeleton. Класс %s' % (k, cls.__name__))
     if 'id' in keys:
         from counter import Counter
         new_obj['id'] = Counter.insert(cls.__collection__)       
     new_obj.save() 
     return new_obj
Exemple #13
0
	def drawScoreBoard(self, scores, totalScore, lvlTime, trophy, refTime):
		""" Prints data on score board """
		scr = self.screens['SCOREBOARD']

		# Background
		scr.drawBG()

		posX = MENU_SPACE_M*3
		posY = MENU_SPACE_M*6

		### SCORE ###
		for s in scores:
			# Player score
			scr.drawText(text=Score.formatScore(s), color=SCORE_LBL_COLOR, size=BONUS_SZ, posX=posX, posY=posY, bold=1, alignH=TEXT_ALIGN['H']['RIGHT'])
			# Score level label
			posY = scr.drawText(text=s.label, color=SCORE_LBL_COLOR, size=BONUS_SZ, posX=posX, posY=posY, bold=1)
			posY += MENU_SPACE_S
		# Player total score
		scr.drawText(text=str(totalScore), color=SCORE_LBL_COLOR, size=SCORE_SZ, posX=posX, posY=posY, bold=1, alignH=TEXT_ALIGN['H']['RIGHT'])
		# Total score label 
		posY = scr.drawText(text=SCORE_TOTAL_LBL, color=SCORE_LBL_COLOR, size=SCORE_SZ, posX=posX, posY=posY, bold=1)
		
		### TIME ###
		# Player time
		posY += MENU_SPACE_M
		scr.drawText(text=lvlTime.formatCounter(), color=SCORE_LBL_COLOR, size=TIME_SZ, posX=posX, posY=posY, bold=1, alignH=TEXT_ALIGN['H']['RIGHT'])
		# Time label
		posY = scr.drawText(text=MENU_TIME_LBL, color=SCORE_LBL_COLOR, size=TIME_SZ, posX=posX, posY=posY, bold=1)
		
		### TROPHY ###
		# Player trophy
		posY = scr.height/2 + MENU_SPACE_M
		if trophy is not None:
			posY = scr.drawText(text=trophy, color=SCORE_LBL_COLOR, size=RESUME_LBL_SZ, posX=0, posY=posY, bold=1, alignH=TEXT_ALIGN['H']['CENTER'])
		else:
			posY = scr.drawText(text=NO_TROPHY_LBL, color=SCORE_LBL_COLOR, size=RESUME_LBL_SZ, posX=0, posY=posY, bold=1, alignH=TEXT_ALIGN['H']['CENTER'])

		# Level time reference
		posY += MENU_SPACE_M
		if refTime:
			for tro, time in refTime.iteritems():
				color = TROPHY_PLAYER_COLOR if tro == trophy else SCORE_LBL_COLOR
				# Reference time 
				scr.drawText(text=Counter.formatTime(time*1000), color=color, size=TROPHY_REF_SZ, posX=posX, posY=posY, bold=1, alignH=TEXT_ALIGN['H']['RIGHT'])
				# Trophy label
				posY = scr.drawText(text=tro, color=color, size=TROPHY_REF_SZ, posX=posX, posY=posY, bold=1)
				posY += MENU_SPACE_S
Exemple #14
0
 def __init__(self, doc1, doc2):
   self.w1 = Counter(doc1.tokens)
   self.w2 = Counter(doc2.tokens)
   self.w  = set(doc1.tokens) | set(doc2.tokens)
def counter_ref(request):
    counter_ref = Counter.start()
    def fin():
        counter_ref.stop()
    request.addfinalizer(fin)
    return counter_ref
Exemple #16
0
 def __init__(self, maxsize=100):
     self.storage = {}
     self.maxsize = maxsize
     self.hits = self.misses = 0
     self.use_count = Counter()  # times each key has been accessed
Exemple #17
0
 def clear(self):
     self.storage = {}
     self.use_count = Counter()
     self.hits = self.misses = 0
Exemple #18
0
from html_parser import Parser
from counter import Counter
from database import DataBase

URL = "https://www.google.com/"
HEADERS = {
    'user-agent':
    'Mozilla/5.0 (Windows NT 10.0; Win64; x64) '
    'AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.190 '
    'Safari/537.36',
    'accept':
    '*/*'
}
DIVS = " ,:@.-()/!?"

if __name__ == '__main__':
    URL = input("Type your URL: ")
    html_text = Parser(url=URL, headers=HEADERS).parse()
    c = Counter(html_text, divider=DIVS).count_words()
    print(c)
    db = DataBase()
    db.make_database(c)
Exemple #19
0
 def setUp(self):
     self.c = Counter()
Exemple #20
0
    def __init__(self, parent):
        super(RegisterDialog, self).__init__(parent)
        self.setModal(True)
        self.setWindowTitle("Registe a new counter entry")
        vbox = QVBoxLayout()

        # Setting up the widgets for selecting the counter
        hbox1 = QHBoxLayout()
        label = QLabel("Select the counter")
        hbox1.addWidget(label)

        self.comboCounter = QComboBox()
        self.comboCounter.addItem("None")
        allcounters = Counter.findAll()
        for c in allcounters:
            self.comboCounter.addItem(c.name)
        hbox1.addWidget(self.comboCounter)

        vbox.addLayout(hbox1)

        # Setting up the widgets for providing the value

        hbox2 = QHBoxLayout()
        label = QLabel("Value")
        hbox2.addWidget(label)

        self.lEdit = QLineEdit()
        hbox2.addWidget(self.lEdit)

        vbox.addLayout(hbox2)

        # Setting up the widgets to provide the date
        hbox3 = QHBoxLayout()
        label = QLabel("Date")
        hbox3.addWidget(label)

        self.calendar = QCalendarWidget()
        self.calendar.clicked.connect(self.on_cal_clicked)
        hbox3.addWidget(self.calendar)

        vbox.addLayout(hbox3)

        # Adding the push buttons to validate the entry of cancel it
        hbox4 = QHBoxLayout()
        okbutton = QPushButton("Ok")
        okbutton.clicked.connect(self.on_validate)

        hbox4.addWidget(okbutton)

        cancelbutton = QPushButton("Cancel")
        cancelbutton.clicked.connect(self.close)
        hbox4.addWidget(cancelbutton)


        vbox.addLayout(hbox4)


        self.setLayout(vbox)
        self.resize(QSize(100,100))

        now = datetime.datetime.now()
        self.current_date = datetime.datetime(now.year, now.month, now.day, 12)
 def __init__(self, name, dtype=None):
     Counter.__init__(self, name)
     self._series = np.array([], dtype=dtype)
     return
Exemple #22
0
    def setUp(self):
        self.client = Redis()
        self.client.flushdb()

        self.counter = Counter(self.client, 'test-counter')
Exemple #23
0
 def __init__(self, **kwargs):
     super(App_root, self).__init__(**kwargs)
     self.program = Counter()
     self.login_manager = Login_Manager()
Exemple #24
0
 def test_resetToInit(self):
     c = Counter(7)
     self.c.add(5)
     self.c.reset()
     self.assertEqual(c.get(), 7)
Exemple #25
0
 def test_getInit(self):
     c = Counter(7)
     self.assertEqual(c.get(), 7)
from counter import Counter
from monitors import monitor_of_point, monitors
from mouse import mouse_position
from windows import activate_window

alt_tabs = Counter()


# Triggered when alt is first pressed down
def alt_down(e):
    alt_tabs.reset()
    print('alt')


# Triggered when alt+tab hotkey is pressed
def alt_tab():
    alt_tabs.increment()


# Triggered when alt is released
def alt_up(e):
    idx = int(alt_tabs)
    if idx == 0:
        return

    cursor_pos = mouse_position()
    monitor = monitor_of_point(cursor_pos[0], cursor_pos[1])
    activate_window(idx, monitor)

    alt_tabs.reset()
Exemple #27
0
import maximumentropy
from counter import Counter

classifier = maximumentropy.toy_problem()

datum_features = Counter()

for feature in classifier.extract_features("Test datum"):
    datum_features[feature] += 1.0

sums = Counter()

for label in classifier.labels:
    for k, v in datum_features.iteritems():
        print "feature %s (%s): %.2f * %.2f = %.2f" % (
            k, label, v, classifier.weights[label][k],
            v * classifier.weights[label][k])
        sums[label] += v * classifier.weights[label][k]

    print "Label %s has score %.2f" % (label, sums[label])
Exemple #28
0
    def setupTabs(self):
        #self.tabs.currentChanged.disconnect(self.currentTabChanged)
        while(self.tabs.count() > 0):
            self.tabs.removeTab(0)

        self.tables = {}
        allcounters = Counter.findAll()
        for c in allcounters:
            tab = QWidget(self.tabs)
            hl = QHBoxLayout()
            tab.setLayout(hl)
            
            recordings = Recording.findByIdCounter(c.id)

            tw = QTableWidget(len(recordings), 5)
            self.tables["%i"%c.id] = tw
            column_names = ("Id","Counter", "Date", "Value", "Remove ?")
            tw.setHorizontalHeaderLabels(column_names)

            # Fill the table with the recordings
            for i, r in enumerate(recordings):
                # The id of the recording in the table of recordings
                item = QTableWidgetItem("{}".format(r.id))
                item.setFlags(QtCore.Qt.NoItemFlags)
                tw.setItem (i, 0, item)
                
                # The id of the associated counter
                item = QTableWidgetItem("{}".format(r.idcounter))
                item.setFlags(QtCore.Qt.NoItemFlags)
                tw.setItem (i, 1, item)

                # The date when the recording has been made
                item = QTableWidgetItem(r.date.strftime("%Y-%m-%d %H:%M:%S"))
                item.setFlags(QtCore.Qt.NoItemFlags)
                tw.setItem (i, 2, item)

                # The value can be edited
                item = QTableWidgetItem("{}".format(r.value))
                item.setFlags(QtCore.Qt.ItemIsEditable | QtCore.Qt.ItemIsEnabled)

                tw.setItem (i, 3, item)

                but = QPushButton("Remove")
                but.clicked.connect(partial(self.on_removeClicked, counter_id=c.id, recording_id=r.id))
                #item = QTableWidgetItem(but)
                #tw.setItem(i, 4, but)
                #tw.setIndexWidget()
                tw.setCellWidget(i, 4, but)

            tw.cellChanged.connect(partial(self.on_cellChanged, counter_id=c.id))

            # We allow sorting and we sort by decreasing date
            # to get the most recent recordings at the top
            tw.setSortingEnabled(True)
            tw.sortByColumn(2, QtCore.Qt.DescendingOrder)

            # Ajust the width of the columns to better see the contents
            tw.resizeColumnsToContents()
            tw.setFixedWidth(600)
            hl.addWidget(tw)

            #### Plot the data
            canvas = self.plot_data(recordings)
            hl.addWidget(canvas)


            self.tabs.addTab(tab,str(c.id) + "-" + c.name)   
Exemple #29
0
def reset_all():
    for m in MODULES_ALL:
        m.delete_all()
    Counter.load_testdata()
Exemple #30
0
from counter import Counter

cnt = Counter()

for i in cnt:
    print(f"i: {i}")
    try:
        n = next(cnt)
        print(f"n: {n}")
    except Exception as ex:
        print(ex.__class__.__name__)
        break
Exemple #31
0
  # Make socket
  transport = TSocket.TSocket('localhost', 30303)
 
  # Buffering is critical. Raw sockets are very slow
  transport = TTransport.TBufferedTransport(transport)
 
  # Wrap in a protocol
  protocol = TBinaryProtocol.TBinaryProtocol(transport)
 
  # Create a client to use the protocol encoder
  client = colorlayer.Client(protocol)
 
  # Connect!
  transport.open()
 
  c = Counter(client)
  c.inc()
  c.inc()
  c.inc()
  c.inc()
  c.reset()
  c.inc()
  c.dec()
  c.dec()
  c.dec()
  c.dec()
  c.inc()
  c.inc()
  c.inc()
  c.inc()
  c.inc()
Exemple #32
0
DB.open('example.db')

#### Add some counters
elec = Counter("Electricité")
elec.insert()
print(elec)

gaz = Counter("Gaz")
gaz.insert()
print(gaz)

print("")

#### List all the counters
print("List all : ")
allcounters = Counter.findAll()
for c in allcounters:
    print(str(c))



#### Put some recordings
r = Recording(elec.id, datetime.datetime.strptime("2015-10-01", "%Y-%m-%d"), 1000)
r.insert()
r = Recording(elec.id, datetime.datetime.strptime("2015-10-05", "%Y-%m-%d"), 1500)
r.insert()


r = Recording(gaz.id, datetime.datetime.strptime("2015-10-01", "%Y-%m-%d"), 100)
r.insert()
r = Recording(gaz.id, datetime.datetime.strptime("2015-10-10", "%Y-%m-%d"), 200)
Exemple #33
0
 def __init__(self, hours, minutes, seconds):
     self.hours = Counter(24, hours, 2)
     self.minutes = Counter(60, minutes, 2)
     self.seconds = Counter(60, seconds, 2)
Exemple #34
0
class Augment(object):
    def __init__(self):
        self.EXTENSIONS = ['png', 'jpg', 'jpeg', 'bmp']
        self.WORKER_COUNT = max(os.cpu_count() - 1, 1)
        self.OPERATIONS = [Rotate, FlipH, FlipV, Translate, Noise, Zoom, Blur]
        self.AUGMENTED_FILE_REGEX = re.compile('^.*(__.+)+\\.[^\\.]+$')
        self.EXTENSION_REGEX = re.compile(
            '|'.join(['.*\\.' + n + '$' for n in self.EXTENSIONS]),
            re.IGNORECASE)
        self.thread_pool = None
        self.counter = None

    def build_augmented_file_name(original_name, ops):
        root, ext = os.path.splitext(original_name)
        result = root
        for op in ops:
            result += '__' + op.code
        return result + ext

    def work(d, f, op_lists):
        try:
            in_path = os.path.join(d, f)
            for op_list in op_lists:
                out_file_name = build_augmented_file_name(f, op_list)
                if isfile(os.path.join(d, out_file_name)):
                    continue
                img = imread(in_path)
                for op in op_list:
                    img = op.process(img)
                imsave(os.path.join(d, out_file_name), img)

            counter.processed()
        except:
            traceback.print_exc(file=sys.stdout)

    def process(dir, file, op_lists):
        thread_pool.apply_async(work, (dir, file, op_lists))

    if __name__ == '__main__':
        if len(sys.argv) < 3:
            print('Usage: {} <image directory> <operation> (<operation> ...)'.
                  format(sys.argv[0]))
            sys.exit(1)

        image_dir = sys.argv[1]
        if not os.path.isdir(image_dir):
            print('Invalid image directory: {}'.format(image_dir))
            sys.exit(2)

        op_codes = sys.argv[2:]
        op_lists = []
        for op_code_list in op_codes:
            op_list = []
            for op_code in op_code_list.split(','):
                op = None
                for op in OPERATIONS:
                    op = op.match_code(op_code)
                    if op:
                        op_list.append(op)
                        break

                if not op:
                    print('Unknown operation {}'.format(op_code))
                    sys.exit(3)
            op_lists.append(op_list)

        counter = Counter()
        thread_pool = Pool(WORKER_COUNT)
        print('Thread pool initialised with {} worker{}'.format(
            WORKER_COUNT, '' if WORKER_COUNT == 1 else 's'))

        matches = []
        for dir_info in os.walk(image_dir):
            dir_name, _, file_names = dir_info
            print('Processing {}...'.format(dir_name))

            for file_name in file_names:
                if EXTENSION_REGEX.match(file_name):
                    if AUGMENTED_FILE_REGEX.match(file_name):
                        counter.skipped_augmented()
                    else:
                        process(dir_name, file_name, op_lists)
                else:
                    counter.skipped_no_match()

        print("Waiting for workers to complete...")
        thread_pool.close()
        thread_pool.join()

        print(counter.get())
Exemple #35
0
def marginalize(var, fact):
	'''
	Marginalize the factor for a var and return a new factor
	'''
	# Defensive checking
	if fact.verify() == False:
		print('Error: marginalize')
		fact.printFC()
		return(None)

	output = factor()
	# Defensive checking
	if var not in fact.indexOfVar:
		print('Error: no such a variable %d within the factor' %(var))
		return(None)

	# Debug
	'''
	print('var: ', var)
	fact.printFC()
	'''

	# Preconstruct the new output factor
	output.numOfVar = fact.numOfVar - 1
	index = fact.indexOfVar.index(var)
	#print('index: ', index)
	tempList = list(fact.indexOfVar)
	#tempList.remove(tempList[index])
	tempList.pop(index)
	#print('tempList: ', tempList)
	output.indexOfVar = tuple(tempList)
	tempList = list(fact.cardinalityOfVar)
	#tempList.remove(tempList[index])
	tempList.pop(index)
	#print('tempList: ', tempList)
	output.cardinalityOfVar = tuple(tempList)
	output.computeNumOfValue()
	output.computeStride()

	'''
	print('Precheck the construting...')
	output.verify()
	print('Precheck done...')
	'''

	# Debug
	if debugFlag == True:
		output.printFC()

	if fact.numOfVar == 1:
		# This is the final table
		sum = 0
		for v in fact.factTable:
			sum += v
		output.factTable.append(sum)
	else:
		# Construct the new factor table
		bitMap = Counter()
		pairOffset = fact.strideOfVar[index]
		loopNum = fact.cardinalityOfVar[index]
		for i in range(fact.numOfVal):
			sum = 0
			# Bypass the cross-out'd entry
			if bitMap[i] == 1:
				continue
			else:
				sum = fact.factTable[i]
				pairIdx = i
				for l in range(loopNum-1):
					# NOTE: i+pairOffset should be valid!
					pairIdx += pairOffset
					pairIdx %= fact.numOfVal
					# Sum up
					sum += fact.factTable[pairIdx]
					# Mark the bitmap for pair wise entry
					bitMap[pairIdx] = 1
				# Add this summing out
				output.factTable.append(sum)

	# Defensive checking & debuging
	if len(output.factTable) != output.numOfVal:
		print('Error: bad marginalization')

	# Defensive checking again to make sure nothing wrong within this funciton
	if output.verify() == False:
		print('Error: marginalize - cause inconsistency')
	return(output)
Exemple #36
0
import csv
from util import *
from counter import Counter

# 'user_id', 'item_id', 'behavior_type', 'user_geohash', 'item_category','time'
file = open("fresh_comp_offline/user_sorted.csv")
actions = csv.reader(file)
header = next(actions)
n = 23291027

bought = set()
bought_exclude_12_12 = set()
bought_sample = set()

c = Counter(n, "read")
for row in actions:
    pair = row[0] + "," + row[1]
    day = get_day(row[5])
    c.count_print()
    if row[2] == "4":
        if day % 7 == 3 and day != 24:
            bought_exclude_12_12.add(pair)
        if day % 7 == 3:
            bought.add(pair)
        if day == 17:
            bought_sample.add(pair)

print(len(bought))
print(len(bought_exclude_12_12))
print(len(bought_sample))
Exemple #37
0
import pickle
import swagger_client
import time
from datetime import datetime
from ratelimit import limits, sleep_and_retry
from swagger_client.rest import ApiException
from pprint import pprint

import logger
from api_key import API_KEY
from cache import FileCache
from counter import Counter

LOGGER = logger.create_logger(__name__, level=logging.DEBUG)
CACHE = FileCache(cache_root="cache", logger=LOGGER)
REQUEST_COUNTER = Counter(counter_path="request-counter.txt", logger=LOGGER)

API_CLIENT_CONFIGURATION = swagger_client.Configuration()
API_CLIENT_CONFIGURATION.api_key = {'api_key': API_KEY}
API_CLIENT = swagger_client.ApiClient(configuration=API_CLIENT_CONFIGURATION)
MATCHES_API = swagger_client.MatchesApi(api_client=API_CLIENT)
PLAYERS_API = swagger_client.PlayersApi(api_client=API_CLIENT)

def counted_request(request, *args, **kwargs):
    try:
        response = request(*args, **kwargs)
        REQUEST_COUNTER.increment()
        return response
    except ApiException as e:
        # 5XX responses do not increment request count
        if e.status < 500 and e.status >= 600:
"""
File: countfib.py
Prints the the number of calls of a recursive Fibonacci
function with problem sizes that double.
"""

from counter import Counter


def fib(n, counter):
    """Count the number of calls of the Fibonacci
    function."""
    counter.increment()
    if n < 3:
        return 1
    else:
        return fib(n - 1, counter) + fib(n - 2, counter)


problemSize = 2
print("%12s%15s" % ("Problem Size", "Calls"))
for count in range(5):
    counter = Counter()

    # The start of the algorithm
    fib(problemSize, counter)
    # The end of the algorithm

    print("%12d%15s" % (problemSize, counter))
    problemSize *= 2
Exemple #39
0
from counter import Counter

if __name__ == "__main__":
    start_num = int(input("初期値は? > "))
    step = int(input("幅は? > "))
    counter = Counter(start_num, step)

    command = input("Command? > ")

    while command != "q":
        if command == "i":
            print("加算します")
            counter.increase()
            print(counter.value)
        else:
            print("そんなコマンド知らないよ")

        command = input("Command? > ")
    print("Bye!")