fields = l.split("\t") name = fields[vacation_headers["Person"]] start = fields[vacation_headers["Start Date"]] end = fields[vacation_headers["End Date"]] note = fields[vacation_headers["Note"]] if not name: continue if name not in vacations: vacations[name] = [] vacations[name].append(parse_vacation_data(name, start, end, note, condition_vacation)) # Expand dates for v in vacations: vacations[v] = expand_dates(vacations[v]) return vacations def wiki_date_str_to_date(date_str): if date_str == "": return None result = datetime.datetime.strptime(date_str, "%d-%b-%Y") return result if __name__ == "__main__": configurator = ServiceConfigurator() configurator.parse_args() condVacationator = CondVacationator(configurator.get_config(), configurator.should_listen()) condVacationator.process_data()
assignments_by_quarter[q] = [] # Output assignments by quarter # TODO: Get rid of the ID cur_id = 1 for q in quarters: print >>output, "\t=====%s" % str(q) for person in assignments_by_quarter[q]: name = person['name'] print >>output, "\t\t%d\t%s\t%s\t%s\t%s\t%s" % ( cur_id, name, self.team, person['track'], person['skill'], vacation_parser.format_vacation(vacation_map[name])) cur_id = cur_id + 1 return def print_people_lines(self, artists_parser, output): print >>output, "=====people" parsed_artists = artists_parser.get_records() for person in parsed_artists: print >>output, "\t%s\t%s" % (person['name'], person['skill']) return if __name__ == "__main__": configurator = ServiceConfigurator() configurator.parse_args() condQPlan = CondQPlan(configurator.get_config(), configurator.should_listen()) condQPlan.process_data()
def get_processed_data(self): self.ratchet_hub.log_info(self.name, "Start appifying") p = None result = "" try: [cond_data] = self.get_inputs() qplan_path = "%s/apps/filters/QPlan/dist/build/qplan/qplan" % self.src_root p = subprocess.Popen(qplan_path, stdin=subprocess.PIPE, stdout=subprocess.PIPE, shell=True) result = p.communicate(input=cond_data)[0] except Exception, e: self.ratchet_hub.log_error(self.name, "Exception happened running qplan: %s" % e) raise if p.returncode != 0: err_msg = "Something went wrong with the qplan filter (%d)" % p.returncode self.ratchet_hub.log_error(self.name, err_msg) raise Exception(err_msg) self.ratchet_hub.log_info(self.name, "Done appifying") return result if __name__ == "__main__": configurator = ServiceConfigurator() configurator.parse_args() app = AppQPlan(configurator.get_config(), configurator.should_listen()) app.process_data()
hub_port = int(config.get('Ratchet Hub', 'port')) self.ratchet_hub = RatchetHub(hub_host, hub_port) vantage_config = self.ratchet_hub.get_vantage_config() snapshot_host = vantage_config['host'] snapshot_port = int(vantage_config['snapshot_sub_port']) self.web_host = vantage_config['host'] self.web_port = int(vantage_config['web_port']) ratchet_hub_info = self.ratchet_hub.get_ratchet_hub_info() self.name = "%s/VantageUpdaterService" % (ratchet_hub_info['org_name']) Subscriber.__init__(self, snapshot_host, snapshot_port, [ "=====app vantage" ]) return # @Override def ping(self): self.ratchet_hub.log_info(self.name, "Asking web app to update") h = httplib.HTTPConnection('%s:%d' % (self.web_host, self.web_port)) h.request("POST","/update", "", {"Content-type": "application/text"}) return if __name__ == "__main__": configurator = ServiceConfigurator() configurator.parse_args() updater = VantageUpdaterService(configurator.get_config()) updater.run()
for quarter in parsed_data[team].keys(): quarter_data = parsed_data[team][quarter] for tri_index in range(len(quarter_data['triages'])): triage = quarter_data['triages'][tri_index] divisions = quarter_data['tracks'] for div_index in range(len(divisions)): division = divisions[div_index] team_skills = quarter_data['skills'] chart_stats = quarter_data['staffing_stats'][tri_index][div_index] chart_stats = self.manpower_to_num_staff(chart_stats, quarter_data['num_weeks']) # Print regular records print >>output, "\t%s" % "\t".join([ team, division, quarter, triage, self.pack_staff_stats(chart_stats['available'], skills, team_skills), self.pack_staff_stats(chart_stats['required'], skills, team_skills), self.pack_staff_stats(chart_stats['net_left'], skills, team_skills) ]) return if __name__ == "__main__": configurator = ServiceConfigurator() configurator.parse_args() appVantage = AppVantage(configurator.get_config(), configurator.should_listen()) appVantage.process_data()