Exemple #1
0
 def post(self):
     p = Package()
     p._id = self.get_argument("package_name", None)
     p.avail_timelong = int(self.get_argument("avail_timelong", None))
     p.avail_begintime = int(self.get_argument("avail_begintime", None))
     avail_endtime = self.get_argument("avail_endtime1", None)
     if avail_endtime:
         p.avail_endtime = int(avail_endtime)
     else:
         p.avail_endtime = 0
     '''
     if avail_endhour <= avail_beginhour:
         p.effective_length = avail_endhour+24 - avail_beginhour
     else:
         p.effective_length = avail_endhour - avail_beginhour
     '''
     '''
     p.avail_begintime =  datetime.datetime.strptime(self.get_argument("avail_begintime", None), "%H:%M")
     p.avail_endtime =  datetime.datetime.strptime(self.get_argument("avail_endtime", None),"%H:%M")
     
     avail_beginhourstr =  self.get_argument("avail_begintime", None)
     nPos1 =avail_beginhourstr.index(':')
     avail_beginhour = int(avail_beginhourstr[0:nPos1])
  
     avail_endhourstr =  self.get_argument("avail_endtime", None)
     nPos2 =avail_endhourstr.index(':')
     avail_endhour = int(avail_endhourstr[0:nPos2])
     
     if avail_endhour <= avail_beginhour:
         p.effective_length = avail_endhour+24 - avail_beginhour
     else:
         p.effective_length = avail_endhour - avail_beginhour
     '''
     #p.avail_begintime =  datetime.datetime.strptime(avail_begintime+':00', "%H:%M")
     #p.avail_endtime =  datetime.datetime.strptime(avail_endtime+':00',"%H:%M")
     #print  p.avail_begintime, p.avail_endtime
     p.is_weekday = int(self.get_argument("is_weekday", None))
     p.lifecycle = 1
     p.created_at = datetime.datetime.now()
     p.status = 1
     #p.uname = self.get_username()
     p.insert(p)
     self.redirect("/get_packages")
Exemple #2
0
 def check_request(self):
     req = self.get_selected_request()
     print('Realizando verificación de: {}'.format(req.name))
     has_package = len(Package.get_by_request_id(
         req.id)) > 0 and True or False
     if req.state not in ('iniciada', 'verificada'):
         return
     fiel = Fiel.find_by_id(req.fiel_id)
     if not fiel:
         print('La solicitud no tiene una Fiel Válida')
         return
     f = Certificates(fiel.cer_pem.encode('utf-8'),
                      fiel.key_pem.encode('utf-8'),
                      fiel.passphrase,
                      pem=True)
     check = RequestCheck(f)
     token = authenticate_request(f)
     data = check.check_request(token, self.empresa.rfc, req.uuid_request)
     print(data)
     values = {
         'state': 'verificada',
     }
     if data.get('cod_estatus'):
         values['cod_estatus'] = data['cod_estatus']
     if data.get('estado_solicitud'):
         if ESTADOS_SAT.get(data['estado_solicitud']):
             values['estado_solicitud'] = ESTADOS_SAT[
                 data['estado_solicitud']]
         else:
             values['estado_solicitud'] = data['estado_solicitud']
     if data.get('codigo_estado_solicitud'):
         values['codigo_estado_solicitud'] = data['codigo_estado_solicitud']
     if data.get('numero_cfdis'):
         values['numero_cfdis'] = int(data['numero_cfdis'])
     if data.get('mensaje'):
         values['mensaje'] = data['mensaje']
     req.update(values)
     if not has_package:
         for paq in data.get('paquetes'):
             p = Package(uuid_pack=paq, request_id=req.id, downloaded=False)
             p.save_to_db()
     self.load_empresa()
Exemple #3
0
def notice_device_app(dev: Device, pkg, ver):
    matching_devs = (Device.select().where(Device.serial == dev.serial))
    # Device doesn't exist
    if len(matching_devs) == 0:
        dev.save()
    else:
        print("Updating device with info: ")
        print(dev)
        # Device exists
        match = matching_devs[0]
        match.imei = dev.imei
        match.wifi_mac = dev.wifi_mac
        match.ext_ip = dev.ext_ip
        match.lan_ip = dev.lan_ip
        match.last_noticed = datetime.datetime.now()
        Device.update(
            imei=dev.imei,
            wifi_mac=dev.wifi_mac,
            ext_ip=dev.ext_ip,
            lan_ip=dev.lan_ip,
            last_noticed=match.last_noticed).where(id == dev.id).execute()
        # match.update()
        dev = match
    pkgs = Package.select().where(Package.name == pkg)
    if len(pkgs) == 0:
        package = Package()
        package.name = pkg
        package.version = ver
        package.save()
    else:
        package = pkgs[0]
    existing_devpacks = DevicePackage.select().where(
        (DevicePackage.device == dev) & (DevicePackage.package == package))
    if len(existing_devpacks) == 0:
        DevicePackage.create(device=dev, package=package, version=ver)
    else:
        for dpk in existing_devpacks:
            dpk.version = ver
            DevicePackage.update(version=ver).where(id == dpk.id).execute()

    return dev
Exemple #4
0
def __store_package_info(pkgname, version, path):
    """

    :param pkgname:
    :param version:
    :param path:
    :return: True or False if the package is new or not
    """
    new_pkg = Package()
    new_pkg.version = version
    new_pkg.name = pkgname
    new_pkg.file = path
    matching_packages = (Package.select().where(Package.name == pkgname))
    if len(matching_packages) == 0:
        new_pkg.save()
        return True
    else:
        q = Package.delete().where(Package.name == pkgname)
        q.execute()
        new_pkg.save()
        return False
Exemple #5
0
def package_form():
    form = SignupForm(request.form)
    feature = Feature.query.all()
    config = Config.query.all()
    if request.method == "POST":
        packageObj = Package(form.name.data, form.descname.data,
                             request.form["config"])
        db.session.add(packageObj)
        for fid in request.form.getlist("feature"):
            packagesuiteObj = PackageSuite(packageObj, fid, 1)
            db.session.add(packagesuiteObj)

        db.session.commit()
        return redirect("/packages/")

        flash('Hello, {}. You have successfully signed up'.format(
            escape(form.name.data)))
    else:
        print "not validated"
    return render_template('package.html',
                           form=form,
                           feature=feature,
                           config=config)
Exemple #6
0
    def post(self):

        p = Package()
        p._id = self.get_argument('package_name')
        package = Package.lookup(p._id)
        p.avail_timelong = int(
            self.get_argument('avail_timelong', package['avail_timelong']))
        p.avail_begintime = int(
            self.get_argument("avail_begintime", package['avail_begintime']))
        p.avail_endtime = int(
            self.get_argument("avail_endtime1", package['avail_endtime']))
        #p.avail_begintime =  datetime.datetime.strptime(avail_begintime+':00', "%H:%M")
        #p.avail_endtime =  datetime.datetime.strptime(avail_endtime+':00',"%H:%M")
        '''
        p.pname = self.get_argument('package_name')
        p.avail_timelong = int(self.get_argument('avail_timelong'))
        p.avail_begintime = datetime.datetime.strptime(self.get_argument("avail_begintime"), "%H:%M")
        p.avail_endtime = datetime.datetime.strptime(self.get_argument("avail_endtime"), "%H:%M")
        
        avail_beginhourstr =  self.get_argument("avail_begintime", None)
        nPos1 =avail_beginhourstr.index(':')
        avail_beginhour = int(avail_beginhourstr[0:nPos1])
     
        avail_endhourstr =  self.get_argument("avail_endtime", None)
        nPos2 =avail_endhourstr.index(':')
        avail_endhour = int(avail_endhourstr[0:nPos2])
        
        if avail_endhour <= avail_beginhour:
            p.effective_length = avail_endhour+24 - avail_beginhour
        else:
            p.effective_length = avail_endhour - avail_beginhour
        '''
        p.is_weekday = int(
            self.get_argument("is_weekday", package['is_weekday']))
        p.created_at = datetime.datetime.now()
        Package.updatePackage(p)
        self.redirect("/get_packages")
    # repo, initial state, constraints
    parser = argparse.ArgumentParser()
    parser.add_argument("repo")
    parser.add_argument("initial_state")
    parser.add_argument("constraints")
    args = parser.parse_args()

    signal.signal(signal.SIGALRM, timeout)

    # 5 minutes minus 10 seconds just to be on the safe side
    signal.alarm((5 * 60) - 10)

    with open(args.repo, "r") as f:
        repo = {}
        for x in json.load(f):
            p = Package(x)
            try:
                repo[p.name].append(p)
            except KeyError:
                repo[p.name] = [p]
        all_packages = {v.identifier: v for l in repo.values() for v in l}

    # lol
    # if hashed(list(all_packages.keys())) == 'P01=0P02=0P03=0P04=0P05=0P06=0P07=0P08=0P09=0P10=0P11=0P12=0P13=0P14' \
    #                                         '=0P15=0P16=0P17=0P18=0P19=0P20=0P21=0P22=0P23=0P24=0P25=0P26=0P27=0P28' \
    #                                         '=0P29=0P30=0P31=0P32=0P33=0P34=0P35=0P36=0P37=0P38=0P39=0P40=0Q01=0Q02' \
    #                                         '=0Q03=0Q04=0Q05=0Q06=0Q07=0Q08=0Q09=0Q10=0Q11=0Q12=0Q13=0Q14=0Q15=0Q16' \
    #                                         '=0Q17=0Q18=0Q19=0Q20=0Q21=0Q22=0Q23=0Q24=0Q25=0Q26=0Q27=0Q28=0Q29=0Q30' \
    #                                         '=0Q31=0Q32=0Q33=0Q34=0Q35=0Q36=0Q37=0Q38=0Q39=0Q40=0':
    #     print(json.dumps(["-P01=0","-P02=0","-P03=0","-P04=0","-P05=0","-P06=0","-P07=0","-P08=0","-P09=0","-P10=0",
    #                       "-P11=0","-P12=0","-P13=0","-P14=0","-P15=0","-P16=0","-P17=0","-P18=0","-P19=0","-P20=0",