示例#1
0
    def run ( self ):
        print ( "Runnin' test\n" )

            ## Configuring
            ##
        super ( Test, self ).createTestEnvironment ()

        path_1 = super ( Test, self ).workspacePath ( "file_1.file" )
        path_2 = super ( Test, self ).workspacePath ( "file_2.file" )
        path_3 = super ( Test, self ).workspacePath ( "dir" )
        path_4 = super ( Test, self ).workspacePath ( "dir/file_4.file" )
        path_2t = super ( Test, self ).tempPath ( "file_2.file" )

            ## First pass
            ##
        try:
            self.startDetached ()
                ## Creatin' 32K file and smaller files
            utils.createFile ( path_1, 33 )
            utils.createFile ( path_2, 32768 )

            gc.collect ()
            print ( "XXX: " + str ( gc.garbage ) )
            time.sleep ( 1 )

            utils.checkFileSize ( path_1, 33 )
            utils.deleteFile ( path_1 )

                ## Copyin' files
            utils.checkFileSize ( path_2, 32768 )
            utils.copyFile ( path_2, path_2t )

                ## Directoryin' files
            # utils.createDirectory ( path_3 )
            # utils.copyFile ( path_2, path_4 )
            # utils.listDirectory ( super ( Test, self ).workspacePath ( "." ) )
            # time.sleep ( 1 )


            print ( "XXX: " + str ( gc.garbage ) )
            self.stopDetached ()
        except:
            print ( "XXX: " + str ( gc.garbage ) )
            self.stopDetached ()
            print ( "Error:" + str ( sys.exc_info () [ 0 ] ) )
            raise
            return

            ## Second pass
            ##
        try:
            self.startDetached ()

            self.stopDetached ()
        except:
            self.stopDetached ()
            print ( "Error:" + str ( sys.exc_info () [ 0 ] ) )
            return
示例#2
0
def newFile(mw, path):
    dlg = DlgNewObject(None, path, "file", "newfile", mw)
    result = dlg.exec()
    if result == QDialog.Accepted:
        mw.showMessage("Create file %s" % dlg.rname)
        if utils.createFile(os.path.dirname(dlg.rname),
                            os.path.basename(dlg.rname)):
            mw.showMessage("New file %s created" % dlg.rname)
            openFile(mw, dlg.rname, "text")
        else:
            mw.showMessage("Can't create %s" % dlg.rname)
    def testDatalog(self, absoluteFilenameIn, nombreLignesIn):

        absoluteFilenameIn = str(absoluteFilenameIn)  # chemin reçu
        nombreLignesIn = int(nombreLignesIn)  # nombre de lignes

        if os.path.isfile(absoluteFilenameIn):
            return "Echec : Le fichier existe !"  # si le fichier existe : on sort

        utils.createFile(absoluteFilenameIn)  # crée le fichier

        myFile = open(absoluteFilenameIn, "w")  # ouverture du fichier en mode écriture write - efface contenu existant
        # open est une fonction du langage python : http://docs.python.org/2/library/functions.html#open
        # mode peut-être r, w, a (append)

        for i in range(0, nombreLignesIn):  # défile n lignes
            myFile.write(str(i + 1) + ";" + str(time.time()) + "\n")  # écrit les données dans le fichier	+ saut ligne

        myFile.close()  # ferme le fichier

        return str(nombreLignesIn) + " valeurs ajoutees dans le fichier"
示例#4
0
文件: projects.py 项目: jplozf/bside
 def newFile(self):
     dlg = dialog.DlgNewObject(self.name, self.path, "file", "newfile",
                               self.parent)
     result = dlg.exec()
     if result == QDialog.Accepted:
         self.parent.showMessage("Create file %s" % dlg.rname)
         if utils.createFile(os.path.dirname(dlg.rname),
                             os.path.basename(dlg.rname)):
             self.parent.showMessage("New file %s created" % dlg.rname)
             self.openFile(dlg.rname, "text")
         else:
             self.parent.showMessage("Can't create %s" % dlg.rname)
示例#5
0
def createScratchFile(folder):
    while True:
        name = getRandomName()
        if utils.createFile(folder, name):
            break
    filename = os.path.join(folder, name)
    with open(
            pkg_resources.resource_filename(
                __name__,
                "resources/templates/newfiles/python/Python/main.py")) as f1:
        with open(filename, "w") as f2:
            for line in f1:
                f2.write(line)
    return (filename)
示例#6
0
    def savePatientData(self, name, female, male, birthday, parkinsonian_y,
                        parkinsonian_n, path):
        global signedUp, file_path, patient
        error = ""
        success = True
        if (len(name) < 2):
            error = 'Name was not inserted'
            success = False
        if (path == "Select folder to save data..."):
            error = 'Path was not selected'
            success = False
        else:
            name = str(name)
            sex = "Female" if female else "Male"
            birthday = str(birthday)
            parkisonian = True if parkinsonian_y else False
            path = str(path)
            patient = Patient(name, birthday, sex, parkisonian)
            signedUp = True
            file_path = str(utils.createFile(path, patient, file_type))

        self.patientData.emit(success, error)
    def gestionConnexionClient(self):  # fonction appelée lorsqu'une connexion client entrante survient
        print ("Une connexion entrante est détectée")

        # -- connexion du client --
        self.clientTcpDistant = (
            self.serveurTcp.nextPendingConnection()
        )  # récupère le TcpSocket correspondant au client connecté
        # l'objet client est un  TcpSocket et dispose donc de toutes les fonctions du TcpSocket

        etatConnexion = self.clientTcpDistant.waitForConnected(5000)  # attend connexion pendant 5 secondes maxi

        # message état connexion
        if etatConnexion:  # si la connexion est OK ..
            print ("Connexion au serveur OK !")
            print (
                "IP du client connecté : " + str(self.clientTcpDistant.peerAddress().toString())
            )  # affiche IP du client distant
            self.lineEditIPClientDistant.setText(self.clientTcpDistant.peerAddress().toString())  # MAJ champ IP client
            print (
                "IP du serveur local : " + str(self.clientTcpDistant.localAddress().toString())
            )  # affiche IP du serveur local auquel le client est connecté
            self.lineEditIPServeurLocal.setText(self.clientTcpDistant.localAddress().toString())  # MAJ champ IP serveur
        else:
            print ("Connexion au serveur impossible...")
            # exit # sort du try mais reste dans la fonction def
            return  # sort de def

            # suite si la connexion est ok...

            # -- lecture des données en réception = réception de la requête du client distant
        test = self.clientTcpDistant.waitForReadyRead()  # attendre que client soit prêt pour réception de données
        if test == True:
            print ("Données client distant prêtes")
        else:
            print ("Données client distant pas prêtes")

        chaineTrans = str(
            self.clientTcpDistant.readAll()
        )  # lit les données en réception - première lecture - readAll lit ligne à ligne...
        # chaineTrans =str(self.clientTcpLocal.readData(1024)) # lit les données en réception - première lecture - read() lit ligne à ligne...
        chaineReception = ""
        # print chaineTrans - debug

        # while len(chaineTrans): # tant que chaine Trans pas vide - obligé car réception ligne à ligne
        while chaineTrans != "":  # tant que chaine Trans pas vide - obligé car réception ligne à ligne
            chaineReception = chaineReception + chaineTrans
            chaineTrans = ""  # RAZ chaine Trans

            test = self.clientTcpDistant.waitForReadyRead(
                1000
            )  # attendre que client soit à nouveau prêt pour réception de données
            if test == True:  # si prêt à recevoir données
                # print ("Client prêt à recevoir des données")
                chaineTrans = str(self.clientTcpDistant.readAll())  # lit la suite des données en réception
                # chaineTrans =str(self.clientTcpLocal.readData(1024)) # lit la suite des données en réception - read() lit ligne à ligne...
                # print self.clientTcpLocal.isOpen() # debug
                # print (">"+chaineTrans) # debug
                # else:
                # 	print("Client pas prêt à recevoir des données")

                # -- fin réception réponse client

                # si on veut message erreur si problème, utiliser readData(taillemax)
        print ("Données reçues : ")
        print ("-------------------------------------------")
        print chaineReception
        print ("-------------------------------------------")

        self.textEditReceptionReseau.append(chaineReception)  # ajoute réception à la zone texte

        # -- +/- analyse de la requete reçue --

        # ------> analyse si la chaine reçue est une requete GET avec chaine format /&chaine= càd si requête Ajax--------
        if chaineReception.startswith("GET /&"):
            print ("Requête AJAX reçue")
            reponseAjax = ""  # pour mémoriser éléments de la réponse Ajax au fur et à mesure analyse

            # ----- extraction de la chaine allant de & à =
            indexStart = chaineReception.find("&")  # position debut
            print ("indexStart = " + str(indexStart))  # debug
            indexEnd = chaineReception.find("=")  # position fin
            print ("indexEnd = " + str(indexEnd))  # debug

            chaineAnalyse = chaineReception[
                indexStart + 1 : indexEnd
            ]  # garde chaine fonction(xxxx) à partir de GET /&fonction(xxxx)=
            # [a:b] 1er caractère inclusif (d'où le +1) , dernier exclusif
            print ("Chaine recue : " + chaineAnalyse)  # debug

            # ---------------------->>  +/- ici analyse de la chaine  <<------------------

            # --- ls ( ) --
            # testInstructionString (self, chaineTestIn, chaineRefIn, debugIn)
            result = utils.testInstructionString(
                chaineAnalyse, "ls(", True
            )  # appelle fonction test instruction format fonction(chaine)
            if result:
                print ("result = " + result)
                reponseAjax = reponseAjax + result + "\n"  # ajoute à la réponse Ajax

                # if (result=="/"):
                cheminAbsolu = self.lineEditCheminRep.text() + result  # le chemin absolu à utiliser
                contenu = utils.getContentDir(cheminAbsolu)  # getContentDir renvoie chaîne
                print (contenu)  # affiche le contenu du rép -
                self.textEdit.setText(contenu)  # efface le champ texte et affiche le fichier à la zone texte
                reponseAjax = reponseAjax + contenu  # ajoute à la réponse Ajax

                # --- read ( ) --
                # testInstructionString (self, chaineTestIn, chaineRefIn, debugIn)
            result = utils.testInstructionString(
                chaineAnalyse, "read(", True
            )  # appelle fonction test instruction format fonction(chaine)
            if result:
                print ("result = " + result)
                reponseAjax = reponseAjax + result + "\n"  # ajoute à la réponse Ajax

                # if (result=="/"):
                cheminAbsolu = self.lineEditCheminRep.text() + "/" + result  # le chemin absolu à utiliser
                # contenu = self.getContentDir(cheminAbsolu) # getContentDir renvoie chaîne
                contenu = utils.readFile(cheminAbsolu)  # readFile renvoie chaine
                print (contenu)  # affiche le contenu du fichier
                reponseAjax = reponseAjax + contenu  # ajoute à la réponse Ajax

                # --- lines ( ) --
                # testInstructionString (self, chaineTestIn, chaineRefIn, debugIn)
            result = utils.testInstructionString(
                chaineAnalyse, "lines(", True
            )  # appelle fonction test instruction format fonction(chaine)
            if result:
                print ("result = " + result)
                reponseAjax = reponseAjax + result + "\n"  # ajoute à la réponse Ajax

                # if (result=="/"):
                cheminAbsolu = self.lineEditCheminRep.text() + "/" + result  # le chemin absolu à utiliser
                # contenu = self.getContentDir(cheminAbsolu) # getContentDir renvoie chaîne
                contenu = str(utils.getNumberOfLines(cheminAbsolu))  # getNumberOfLines renvoie int - nombre de lignes
                print (contenu)  # affiche le contenu du fichier
                reponseAjax = reponseAjax + contenu  # ajoute à la réponse Ajax

                # --- size ( fichier) --
                # testInstructionString (self, chaineTestIn, chaineRefIn, debugIn)
            result = utils.testInstructionString(
                chaineAnalyse, "size(", True
            )  # appelle fonction test instruction format fonction(chaine)
            if result:
                print ("result = " + result)
                reponseAjax = reponseAjax + result + "\n"  # ajoute à la réponse Ajax

                # if (result=="/"):
                cheminAbsolu = self.lineEditCheminRep.text() + "/" + result  # le chemin absolu à utiliser
                # contenu = self.getContentDir(cheminAbsolu) # getContentDir renvoie chaîne
                contenu = str(utils.sizeFile(cheminAbsolu))  # getNumberOfLines renvoie int - nombre de lignes
                print (contenu)  # affiche le contenu du fichier
                reponseAjax = reponseAjax + contenu  # ajoute à la réponse Ajax

                # --- write ( ) --
                # testInstructionString (self, chaineTestIn, chaineRefIn, debugIn)
            result = utils.testInstructionString(
                chaineAnalyse, "write(", True
            )  # appelle fonction test instruction format fonction(chaine)
            if result:
                print ("result = " + result)
                reponseAjax = reponseAjax + result + "\n"  # ajoute à la réponse Ajax

                subResult = result.split(",")  # sépare les sous chaînes séparées par ,
                print subResult

                if len(subResult) == 2:  # si on a bien 2 sous chaînes
                    # if (result=="/"):
                    cheminAbsolu = self.lineEditCheminRep.text() + "/" + subResult[0]  # le chemin absolu à utiliser
                    # contenu = self.getContentDir(cheminAbsolu) # getContentDir renvoie chaîne
                    contenu = utils.writeFile(cheminAbsolu, str(subResult[1]) + "\n")  # writeFile renvoie chaine
                    print (contenu)  # affiche le contenu du fichier
                    reponseAjax = reponseAjax + contenu  # ajoute à la réponse Ajax
                else:
                    reponseAjax = reponseAjax + "Erreur format\n"  # ajoute à la réponse Ajax

                    # --- getline ( fichier, ligne) --
                    # testInstructionString (self, chaineTestIn, chaineRefIn, debugIn)
            result = utils.testInstructionString(
                chaineAnalyse, "getline(", True
            )  # appelle fonction test instruction format fonction(chaine)
            if result:
                print ("result = " + result)
                reponseAjax = reponseAjax + result + "\n"  # ajoute à la réponse Ajax

                subResult = result.split(",")  # sépare les sous chaînes séparées par ,
                print subResult

                if len(subResult) == 2:  # si on a bien 2 sous chaînes
                    # if (result=="/"):
                    cheminAbsolu = self.lineEditCheminRep.text() + "/" + subResult[0]  # le chemin absolu à utiliser
                    if subResult[1].isalnum():  # si 2ème param est bien en chiffres
                        contenu = utils.getLine(cheminAbsolu, str(subResult[1]))  # getLine renvoie chaine
                        print (contenu)  # affiche le contenu du fichier
                        reponseAjax = reponseAjax + contenu  # ajoute à la réponse Ajax
                    else:
                        reponseAjax = reponseAjax + "Erreur format\n"  # ajoute à la réponse Ajax

                        # --- testdatalog ( fichier, nombrelignes) --
                        # testInstructionString (self, chaineTestIn, chaineRefIn, debugIn)
            result = utils.testInstructionString(
                chaineAnalyse, "testdatalog(", True
            )  # appelle fonction test instruction format fonction(chaine)
            if result:
                print ("result = " + result)
                reponseAjax = reponseAjax + result + "\n"  # ajoute à la réponse Ajax

                subResult = result.split(",")  # sépare les sous chaînes séparées par ,
                print subResult

                if len(subResult) == 2:  # si on a bien 2 sous chaînes
                    # if (result=="/"):
                    cheminAbsolu = self.lineEditCheminRep.text() + "/" + subResult[0]  # le chemin absolu à utiliser
                    if subResult[1].isalnum():  # si 2ème param est bien en chiffres
                        contenu = self.testDatalog(cheminAbsolu, str(subResult[1]))  # testDatalog renvoie chaine
                        print (contenu)  # affiche le contenu du fichier
                        reponseAjax = reponseAjax + contenu  # ajoute à la réponse Ajax
                    else:
                        reponseAjax = reponseAjax + "Erreur format\n"  # ajoute à la réponse Ajax

                        # --- createfile ( ) --
                        # testInstructionString (self, chaineTestIn, chaineRefIn, debugIn)
            result = utils.testInstructionString(
                chaineAnalyse, "createfile(", True
            )  # appelle fonction test instruction format fonction(chaine)
            if result:
                print ("result = " + result)
                reponseAjax = reponseAjax + result + "\n"  # ajoute à la réponse Ajax

                # if (result=="/"):
                cheminAbsolu = self.lineEditCheminRep.text() + "/" + result  # le chemin absolu à utiliser
                # contenu = self.getContentDir(cheminAbsolu) # getContentDir renvoie chaîne
                contenu = utils.createFile(cheminAbsolu)  # readFile renvoie chaine
                print (contenu)  # affiche le contenu du fichier
                reponseAjax = reponseAjax + contenu  # ajoute à la réponse Ajax

                # --- remove ( ) --
                # testInstructionString (self, chaineTestIn, chaineRefIn, debugIn)
            result = utils.testInstructionString(
                chaineAnalyse, "remove(", True
            )  # appelle fonction test instruction format fonction(chaine)
            if result:
                print ("result = " + result)
                reponseAjax = reponseAjax + result + "\n"  # ajoute à la réponse Ajax

                # if (result=="/"):
                cheminAbsolu = self.lineEditCheminRep.text() + "/" + result  # le chemin absolu à utiliser
                contenu = utils.removeFile(cheminAbsolu)  # readFile renvoie chaine
                print (contenu)  # affiche le contenu du fichier
                reponseAjax = reponseAjax + contenu  # ajoute à la réponse Ajax

                # ----- avec params chiffrés ---
            """
			args=utils.testInstructionLong(chaineAnalyse, "lines(", True) # extrait paramètre chaine au format racine (xx,xx,xx,..)
			if args:  # args est True si 1 ou plusieurs paramètres numériques sont trouvés - None sinon 
				print args
			"""

            # --- construction de la réponse complète
            # reponse=self.plainTextEditReponseHttp.toPlainText() +chaineAnalyse+"\n" # Utf-8
            # reponse=self.enteteHttp+chaineAnalyse+"\n"+result+"\n" # +str(args)+"\n" # Utf-8
            reponse = self.enteteHttp + chaineAnalyse + "\n" + reponseAjax + "\n"

            self.envoiChaineClientTcp(reponse)  # envoi la reponse au client - appelle fonction commune

            """
			self.textEditEnvoiReseau.append(reponse) # ajoute à la zone texte d'envoi 
			
			print reponse.toAscii() # convertit en ascii le String - avec conversion unicode... 
			
			#reponse=QString.fromUtf8(reponse) # 2ers octets UTF-8 seulement 
			
			reponseByteArray=reponse.toAscii() # convertit en ascii le String - avec conversion unicode... 
			#byteArray=QByteArray()
			#byteArray.append(reponse)
			
			test=self.clientTcpDistant.write(reponseByteArray) # écrit les données vers le serveur avec CRLF		
			if test==-1 : print ("Erreur en écriture vers le client")
			else: print (str(test)+ " octets envoyés vers le client")
			
			#self.textEditReceptionReseau.append("Reponse envoyee au client : " + str(reponseByteArray)+"\n")		

			test=self.clientTcpDistant.waitForBytesWritten() # attend fin envoi
			if test==False : print("Problème envoi")
			else: print ("envoi réussi")
			"""

            # -- fin si GET /&

            # ---------> si la chaine recue commence par GET et pas une réponse précédente = on envoie page initiale entiere
        elif chaineReception.startswith("GET"):

            # -- écriture des données vers le client = envoi de la réponse du serveur local --
            # test=self.clientTcpLocal.writeData("GET") # écrit les données vers le serveur
            # test=self.clientTcpDistant.writeData(str(self.lineEditReponse.text())) # écrit les données vers le serveur
            # reponse=str(QString.fromUtf8(self.plainTextEditReponse.toPlainText()))+str("\n")

            # reponse=self.plainTextEditReponseHttp.toPlainText() +self.plainTextEditReponseHtml.toPlainText()+"\n" # Utf-8
            # reponseHtml=self.plainTextEditReponseHtml.toPlainText() # partie Html de la réponse

            # reponseHtml.replace(self.lineEditChaineSubstHtml.text(), "var val = new Array(100,200,300,400,500,600);"); # debug - remplace chaine des valeurs à passer au client
            # typiquement, la réponse html contient du code javascript avec un tableau de valeurs var val = new Array(0,0,0,0,0,0);
            # celui-ci est remplacé par le tableau de nouvelles valeurs

            """
			reponseHtml.replace(self.lineEditChaineSubstHtml.text(), "var val = new Array("
			+str(self.lcdNumber_A0.intValue())+","
			+str(self.lcdNumber_A1.intValue()) +","
			+str(self.lcdNumber_A2.intValue())+","
			+str(self.lcdNumber_A3.intValue())+","
			+str(self.lcdNumber_A4.intValue())+","
			+str(self.lcdNumber_A5.intValue()) +");"); # remplace chaine des valeurs à passer au client - ici les valeurs des lcdNumber
			"""
            # --- la réponse HTML + Javascript
            reponseHtml = ""

            # -- début html + le head avec javascript --
            #### ATTENTION : les sections """ """ qui suivent ne sont pas des commentaires mais du code HTML/Javascript actif envoyé au client
            #### NE PAS EFFACER +++

            reponseHtml = (
                reponseHtml
                + """
<!DOCTYPE html>
<html>

<head>
<meta charset=\"utf-8\" />
<title>Titre</title>

<!-- Debut du code Javascript  -->
<script language=\"javascript\" type=\"text/javascript\">
<!-- 

//-- variables et objets globaux 
var textarea=null;
var textInputX=null;
	
//--- fonction appelée sur clic bouton
function onclickButton() { // click Button ON
	requeteAjax(\"&\"+textInput.value+\"=\", drawData); // envoi requete avec &chaine= et fonction de gestion resultat	
} // fin onclickButton

//--- fonction executee au lancement
window.onload = function () { // au chargement de la page
	textarea = document.getElementById(\"textarea\"); // declare objet canvas a partir id = nom
	textarea.value=\"\";// efface le contenu 
	
	textInput= document.getElementById(\"valeur\"); // declare objet champ text a partir id = nom"
	
	} // fin onload

//--- fonction de requete AJAX	
function requeteAjax(chaineIn, callback) {
	
	var xhr = XMLHttpRequest();
	xhr.open(\"GET\", chaineIn, true); // envoi requete avec chaine personnalisee
	xhr.send(null);
	
	//------ gestion de l'évènement onreadystatechange ----- 
	xhr.onreadystatechange = function() {

		if (xhr.readyState == 4 && xhr.status == 200) {
			//alert(xhr.responseText);
			callback(xhr.responseText);
		} // fin if
		
	}; // fin function onreadystatechange		
		
} // fin fonction requeteAjax

//-- fonction de gestion de la reponse a la requete AJAX --
function drawData(stringDataIn) {
	
	// ajoute la réponse au champ texte 
	textarea.value=textarea.value+stringDataIn; // ajoute la chaine au début - décale vers le bas...
	textarea.setSelectionRange(textarea.selectionEnd-1,textarea.selectionEnd-1); // se place à la fin -1 pour avant saut de ligne
	
} // fin fonction drawData

//-->
</script>
<!-- Fin du code Javascript -->

</head>

"""
            )  # les parenthèses encadrent la chaîne et la variable comme si c'était la même ligne

            # -- le body + fin HTML --
            reponseHtml = (
                reponseHtml
                + """
<body>

Serveur Python

<br/>
<input type=\"text\" id=\"valeur\" size=\"50\" />
<button type=\"button\" onclick=\"onclickButton()\">Envoyer</button>
<br/>
En provenance du serveur :
<br/>
<textarea id=\"textarea\" rows=\"10\" cols=\"50\" > </textarea>
<br/>
</body>

</html>
"""
            )  # les parenthèses encadrent la chaîne et la variable comme si c'était la même ligne

            # --- construction de la réponse complète
            # reponse=self.plainTextEditReponseHttp.toPlainText() +reponseHtml+"\n" # Utf-8
            reponse = self.enteteHttp + reponseHtml + "\n"  # Utf-8

            self.envoiChaineClientTcp(reponse)  # envoi la reponse au client - appelle fonction commune

            """
			self.textEditEnvoiReseau.append(reponse) # ajoute à la zone texte d'envoi 
			
			print reponse.toAscii() # convertit en ascii le String - avec conversion unicode... 
			
			#reponse=QString.fromUtf8(reponse) # 2ers octets UTF-8 seulement 
			
			reponseByteArray=reponse.toAscii() # convertit en ascii le String - avec conversion unicode... 
			#byteArray=QByteArray()
			#byteArray.append(reponse)
			
			test=self.clientTcpDistant.write(reponseByteArray) # écrit les données vers le serveur avec CRLF		
			if test==-1 : print ("Erreur en écriture vers le client")
			else: print (str(test)+ " octets envoyés vers le client")
			
			#self.textEditReceptionReseau.append("Reponse envoyee au client : " + str(reponseByteArray)+"\n")		

			test=self.clientTcpDistant.waitForBytesWritten() # attend fin envoi
			if test==False : print("Problème envoi")
			else: print ("envoi réussi")
			"""

            # -- fin si "GET" = fin envoi page initiale complète

            # -- fin de la connexion --
        self.clientTcpDistant.close()  # fin de la connexion
        print ("Fermeture du client tcp distant effectuée")
        print ("===========================================")
        print ("")
示例#8
0
		
		if(ind >= 0):
			print(str(x) + " already used - skipping this file")
			continue

		basePath = os.path.dirname(x)
		if(len(basePath) > 0):
			if(basePath[-1:] != "\\" and basePath[-1:] != "/"):
				basePath = basePath + "/"

		f = open(str(x), "r", 4096, "utf-8")
		filesAlreadyUsed.append(str(x))

		# create base tsconfig file
		if(not os.path.exists(basePath + "tsconfig.json")):
			baseTSConfigFile = utils.createFile(basePath + "tsconfig.json")
			TSConfigFileTextTmp = tsConfigFileText
			TSConfigFileTextTmp = TSConfigFileTextTmp.replace("<EXTENDS>", "")
			TSConfigFileTextTmp = TSConfigFileTextTmp.replace("<FILES>", "")
			baseTSConfigFile.write(TSConfigFileTextTmp)
			baseTSConfigFile.close()

		t = f.read()
		t = t.splitlines()
		f.close()
		allScripts = []

		actScript = ""
		scriptName = ""
		scriptNumber = ""
		i = 0
示例#9
0
文件: projects.py 项目: jplozf/bside
    def createNew(self):
        dialog = DlgNewProject(self.parent)
        result = dialog.exec()
        if result == QDialog.Accepted:
            dirProject = dialog.txtProjectName.text()
            if dirProject != "":
                ok = utils.createDirectory(settings.db['BSIDE_REPOSITORY'],
                                           dirProject)
                if ok == True:
                    # Package folder
                    package = os.path.join(settings.db['BSIDE_REPOSITORY'],
                                           dirProject)

                    # Main module file
                    module = dialog.txtModuleName.text()

                    # Python files
                    templateFolder = pkg_resources.resource_filename(
                        __name__, 'resources/templates/newfiles/python/' +
                        dialog.cbxTemplate.currentText())
                    utils.copyAllFilesFromTo(templateFolder, package)
                    if module != "main.py":
                        os.rename(os.path.join(package, "main.py"),
                                  os.path.join(package, module))
                    utils.createFile(package, "__init__.py")

                    # README.md
                    readme = self.getReadme(dialog.txtProjectName.text(),
                                            dialog.txtAuthorName.text(),
                                            dialog.txtAuthorMail.text(),
                                            dialog.txtAuthorSite.text(),
                                            dialog.txtCompany.text(),
                                            dialog.cbxLicense.currentText())
                    utils.copyStringToFile(readme,
                                           os.path.join(package, "README.md"))

                    # LICENSE.md
                    license = 'resources/templates/licenses/' + dialog.cbxLicense.currentText(
                    ) + ".md"
                    utils.copyFile(
                        pkg_resources.resource_filename(__name__, license),
                        os.path.join(package, "LICENSE.md"))

                    # Encoding
                    encoding = dialog.cbxEncoding.currentText()

                    # update members
                    self.name = dirProject
                    self.path = package

                    # Project file
                    self.createXMLProjectFile(module, encoding)

                    # Open project
                    self.open()

                    return True
            else:
                return False
        else:
            return False