예제 #1
0
    def persist(self,reportd,mail_message):
            boats = Boat.all()
            boats.filter("passcode = ", reportd['passcode'])
            boats.filter("active =", True)

            emaillog=EmailLog()
            emaillog.rawemail=db.Text(mail_message.original.as_string())

            #TODO: I don't like this way of figuring out if we got any rows
            count=0
            for boat in boats:
                if (boat.key().name()==string.upper(reportd['boat'])):
                    count=count+1
                    break # Return the first one
                else:
                    boat=None

            if (count <1 or boats == None or boat == None):
                logging.error("Unable to persist report could not find boat "+string.upper(reportd['boat'])+":"+reportd['passcode'])
            else:
                report=Report(parent=boat)
                report.lat=reportd['lat']
                report.lon=reportd['lon']
                payload={
                         'comment' : reportd['comment']
                        }
                report.setPayload(payload)
                report.put()
                emaillog.report_ref=report
                reportd['time']=strftime("%Y/%m/%d %H:%M", gmtime())
                self.outbound(boat,reportd)

            emaillog.put()
예제 #2
0
파일: private.py 프로젝트: scotte/sailtrack
    def importc(self):
        datere = re.compile(r"([0-9\-]+) ([0-9:]+)")

        reports = Report.all()
        for report in reports:
            report.delete()

        imp = csv.reader(open("doc/import.csv", "rb"))
        boat = None
        for row in imp:
            boatid = string.upper(row[1])

            if boat == None:
                boat = Boat.get_by_key_name(boatid, parent=self.dbuser)

            # logging.error(row[0])
            report = Report(parent=boat)
            parsedate = datere.match(row[0])
            date = parsedate.group(1) + " " + parsedate.group(2)
            tm = time.strptime(date, "%Y-%m-%d %H:%M:%S")
            report.created = datetime.datetime.utcfromtimestamp(time.mktime(tm))

            report.lat = float(row[2])
            report.lon = float(row[3])
            payload = {"comment": row[4].replace("</b>", "")}
            # logging.error(payload)
            report.setPayload(payload)
            report.put()