def dockerps(self, show_all): try: env = ['CADVISOR', 'CONTAINERS'] if util.environ(env, 'warning'): self.sendqueue.put({ 'message': 'error: One or some environment variables are not set. Must be set {0}' .format(' '.join(env)) }) return watch_container = {} for c in os.environ.get('CONTAINERS').split(','): watch_container[c] = False if self.running_last_period.get(c) is None: self.running_last_period[c] = True url = 'http://{0}/api/v1.3/containers/docker'.format( os.environ.get('CADVISOR')) r = requests.get(url).json() #debug #self.logger.debug(r['name']) for container in r['subcontainers']: c = requests.get('http://{0}/api/v1.3/containers{1}'.format( os.environ.get('CADVISOR'), container['name'])).json() watch_container[c['spec']['labels'] ['com.docker.compose.service']] = True if show_all: text = '' for k, v in watch_container.items(): flag = util.emoji('ok') if v else util.emoji('bad') text += '{0} {1}\n'.format(flag, k) self.running_last_period[k] = v self.sendqueue.put({'message': '{0}'.format(text)}) else: text = '' count = 0 for k, v in watch_container.items(): if v == False and self.running_last_period.get(k) == True: text += '{0} '.format(k) count += 1 self.running_last_period[k] = v if count > 0: self.sendqueue.put({ 'message': '{0} {1} が停止しています'.format(util.emoji('bad'), text) }) except Exception as e: msg = 'dockerps()' self.logger.exception(msg, stack_info=True) self.sendqueue.put({ 'message': 'error {}: {}({})'.format(msg, e.__class__.__name__, str(e)) })
def df(self, show_all): stat = shutil.disk_usage("/") show = False message = util.emoji('ok') if (stat.used / stat.total > 0.9 and self.running_last_period.get('df') is None): show = True message = '{0} ストレージに十分な空き領域がありません\n'.format(util.emoji('bad')) if show_all or show: self.sendqueue.put({ 'message': '''{0} total: {1}GiB, used: {2}GiB, free: {3}GiB, {4}%'''.format(message, int(stat.total / 1024 / 1024 / 1024), int(stat.used / 1024 / 1024 / 1024), int(stat.free / 1024 / 1024 / 1024), int(stat.used / stat.total * 100))}) self.running_last_period['df'] = True
def run(self): success_albums = 0 failure_albums = 0 album_current = 0 album_count = 0 r = None page = 0 while r is None or r.get('nextPageToken') is not None: if r is None: r = self.credential.get('https://photoslibrary.googleapis.com/v1/albums') else: r = self.credential.get('https://photoslibrary.googleapis.com/v1/albums', params={'pageToken': r.get('nextPageToken')}) # albums may not return values if r.get('albums') is None: continue album_count += len(r.get('albums')) self.out.put('Albums.run(): {0} albums found in this page, nextPageToken={1}\n'.format( len(r.get('albums')), r.get('nextPageToken'))) for album in r.get('albums'): ret = self.put_albums(r, album_current, album_count, album) ret = 0 if ret == 0: success_albums += 1 else: failure_albums += 1 album_current += 1 page += 1 catalog_prefix = os.path.join(self.bucketprefix, self.credential.email, 'catalog', 'album') self.out.debug('put album catalog to={0}'.format(catalog_prefix)) self.put_album_catalog(self.bucket, catalog_prefix) success_all = False emoji = '' if album_count == success_albums: emoji = 'ok' success_all = True else: emoji = 'bad' self.out.message('{0} finished: total {1}, success {2}, failure {3}\n'.format( util.emoji(emoji), album_count, success_albums, failure_albums)) if success_all == False: self.out.pop()
def processar(self, bot, user, chat_id, args): super(Ajuda, self).processar(bot, user, chat_id, args) features = '' idx = 0 for feature in args: if feature.NOME not in ("start", "ajuda", "sobre"): show = not feature.driver_mode or (self.is_bot_driver(bot) and feature.driver_mode) if show: features += str.format(MSGS["feature_line"], (idx + 1), feature.NOME, MSGS.get(feature.DESCRIPTION)) idx = idx + 1 msg = open("files/help.txt", "r").read() msg = msg.format(emoji_title=emoji('book'), features=features, emoji_obs_1=emoji('bust_in_silhouette'), emoji_obs_2=emoji('hourglass'), emoji_obs_3=emoji('car'), emoji_obs_4=emoji('thumbsup'), emoji_obs_5=emoji('warning')) return msg
def run(self): page = 0 count = 0 current = 0 success = 0 failure = 0 already = 0 skip = 0 prefix = os.path.join(os.environ.get('S3_PREFIX'), self.credential.email, 'library', '') self.out.debug('prefix: {0}'.format(prefix)) already_saved = [ o.key for o in self.bucket.objects.filter(Prefix=prefix) ] r = None while r is None or r.get('nextPageToken') is not None: if r is None: r = self.credential.get( 'https://photoslibrary.googleapis.com/v1/mediaItems', params={'pageSize': '100'}) else: r = self.credential.get( 'https://photoslibrary.googleapis.com/v1/mediaItems', params={ 'pageSize': '100', 'pageToken': r.get('nextPageToken') }) # mediaItems may not return values if r.get('mediaItems') is None: continue count += len(r.get('mediaItems')) failure_per_page = 0 for item in r.get('mediaItems'): ret = self.put_photos(r, already_saved, page, current, count, item, prefix) if ret == 0: success += 1 self.photo_catalog(item.get('id'), item.get('filename')) elif ret == 1: failure += 1 failure_per_page += 1 elif ret == 2: failure += 1 failure_per_page += 1 elif ret == 3: already += 1 self.photo_catalog(item.get('id'), item.get('filename')) current += 1 self.out.info('library-{}: count: {}, failure photos: {}'.format( page + 1, len(r.get('mediaItems')), failure_per_page)) page += 1 catalog_prefix = os.path.join(os.environ.get('S3_PREFIX'), self.credential.email, 'catalog', 'library') self.out.debug('library: put catalog to={}'.format(catalog_prefix)) self.put_photo_catalog(catalog_prefix) success_all = False emoji = '' if count == success + already: success_all = True emoji = 'ok' else: emoji = 'bad' self.out.message( '{}library: total {}, success {}, already {}, failure {}\n'.format( util.emoji(emoji), count, success, already, failure)) if success_all == False: self.out.pop()
Proceedings of the ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD-2004), Aug 22-25, 2004, Seattle, Washington, USA, """ import util negative_stop_words = util.get_file_content_as_list( "resources/negative-stop-words.txt") neutral_stop_words = util.get_file_content_as_list( "resources/neutral-stop-words.txt") positive_stop_words = util.get_file_content_as_list( "resources/positive-stop-words.txt") negative_words = util.get_file_content_as_list("resources/negative-words.txt") positive_words = util.get_file_content_as_list("resources/positive-words.txt") original_text = util.format_into_string( util.get_file_content_as_list("resources/text.txt")) text = util.clean_text(util.get_file_content_as_list("resources/text.txt"), neutral_stop_words) sentiment = util.analyze_text_sentiment(text, negative_stop_words, positive_stop_words, negative_words, positive_words) print("The original text was: " + original_text) print("\nThe sentiment score was: " + str(sentiment)) print("This corresponds to a " + util.mood(sentiment) + " mood ... " + util.emoji(sentiment) + "\n")
def put_albums(self, r, album_current, album_count, album): success_count = 0 failure_count = 0 already_count = 0 photo_current = 0 photo_count = 0 prefix = os.path.join(self.bucketprefix, self.credential.email, album.get('id')) + '/' self.out.debug('prefix: {0}'.format(prefix)) already_saved = [ o.key for o in self.bucket.objects.filter(Prefix=prefix)] if len(already_saved) > 0: self.out.debug('{0}/{1}: already exists: {2} photos found. first record={3}'.format( album_current, album_count, len(already_saved), already_saved[0])) else: self.out.debug('{0}/{1}: not found that already saved photo'.format( album_current, album_count)) self.album_catalog(album.get('id'), album.get('title')) rp = None page = 0 while rp is None or rp.get('nextPageToken') is not None: if rp is None: rp = self.credential.post('https://photoslibrary.googleapis.com/v1/mediaItems:search', data={ 'pageSize': 100, 'albumId': album.get('id') }) else: rp = self.credential.post('https://photoslibrary.googleapis.com/v1/mediaItems:search', data={ 'pageSize': 100, 'albumId': album.get('id'), 'pageToken': rp.get('nextPageToken') }) photo_count += len(rp.get('mediaItems')) failure_per_page = 0 for item in rp.get('mediaItems'): ret = self.put_photos(r, rp, already_saved, album_current, album_count, photo_current, photo_count, album, item, prefix) if ret == 0: success_count += 1 self.photo_catalog(album.get('id'), item.get('id'), item.get('filename')) elif ret == 1: failure_count += 1 failure_per_page += 1 elif ret == 2: failure_count += 1 failure_per_page += 1 elif ret == 3: already_count += 1 self.photo_catalog(album.get('id'), item.get('id'), item.get('filename')) photo_current += 1 self.out.debug('{}/{}-{}: count: {}, failure photos: {}'.format( album_current, album_count, page + 1, len(rp.get('mediaItems')), failure_per_page)) page += 1 catalog_prefix = os.path.join(self.bucketprefix, self.credential.email, 'catalog', 'albums', album.get('id')) self.out.debug('{0}/{1}: put photo catalog to={2}'.format( album_current, album_count, catalog_prefix)) self.put_photo_catalog(self.bucket, catalog_prefix, album.get('id')) ret = 0 emoji = '' if int(album.get('mediaItemsCount')) == success_count + already_count: ret = 0 emoji = 'ok' else: ret = 1 emoji = 'bad' self.out.put('{0} {1}/{2} album {3}: total {4}, success {5}, already {6}, failure {7}'.format( util.emoji(emoji), album_current + 1, album_count, album.get('title'), album.get('mediaItemsCount'), success_count, already_count, failure_count)) return ret