Commit b7623085e091855139e33437d568b971076dffca

Authored by bruno
1 parent a35c2caf
Exists in master

Versão integrada com unit

Clipboard/Clipboard.py 0 → 100644
@@ -0,0 +1,20 @@ @@ -0,0 +1,20 @@
  1 +# -- coding: utf-8 --
  2 +import ctypes
  3 +
  4 +def clip():
  5 +
  6 + dll = ctypes.windll
  7 +
  8 + try:
  9 + dll.user32.OpenClipboard(None) #Para Python 3
  10 + except ctypes.ArgumentError:
  11 + dll.user32.OpenClipboard(0) #Para python 2
  12 +
  13 + handle = dll.user32.GetClipboardData(13) #Texto em unicode
  14 + text = ctypes.c_wchar_p(handle).value
  15 + dll.user32.CloseClipboard()
  16 +
  17 + if isinstance(text, unicode):
  18 + return text.encode("utf-8")
  19 + else:
  20 + return "Selecione um texto"
0 \ No newline at end of file 21 \ No newline at end of file
Clipboard/Clipboard.pyc 0 → 100644
No preview for this file type
@@ -15,27 +15,57 @@ LFLAGS = -link C:\Python27\libs\python27.lib @@ -15,27 +15,57 @@ LFLAGS = -link C:\Python27\libs\python27.lib
15 CC = cl 15 CC = cl
16 16
17 # Nome do arquivo de saída 17 # Nome do arquivo de saída
18 -OUT = tradutor 18 +OUT = testLibras
19 19
20 # Arquivos de implementação 20 # Arquivos de implementação
21 -FILES = src\pyTradutor.cpp src\Main.cpp 21 +FILES = src\pyTradutor.cpp src\pyClip.cpp
22 22
23 #Headers 23 #Headers
24 -INCLUDES = include\pyTradutor.h 24 +INCLUDES = include\pyTradutor.h include\pyClip.h
25 25
26 -all: $(FILES) $(INCLUDES)  
27 - $(CC) -Fe$(OUT) -clr $(FILES) $(CFLAGS) $(LFLAGS) 26 +#Gera executável testLibras
  27 +all: $(FILES) $(INCLUDES) src\testLibras.cpp
  28 + $(CC) -Fe$(OUT) -EHsc src\testLibras.cpp $(FILES) $(CFLAGS) $(LFLAGS)
28 29
29 -Main: Main.cpp  
30 - $(CC) -c -FoMain -clr Main.cpp $(CFLAGS) $(LFLAGS) 30 +#Gera dll na arquitetura x86
  31 +plugin-x86: $(FILES) $(INCLUDES)
  32 + $(CC) -Feplugin\Plugin-x86\CorePlugin -EHsc -LD plugin\corePlugin.cpp $(FILES) -I plugin\corePlugin.h $(CFLAGS) $(LFLAGS)
31 33
32 -pyTradutor: src\pyTradutor.cpp  
33 - $(CC) -c -FopyTradutor -clr src\pyTradutor.cpp $(CFLAGS) $(LFLAGS) 34 +#Gera dll na arquitetura x64
  35 +plugin-x64: $(FILES) $(INCLUDES)
  36 + $(CC) -Feplugin\Plugin-x64\CorePlugin -EHsc -LD plugin\corePlugin.cpp $(FILES) -I plugin\corePlugin.h $(CFLAGS) $(LFLAGS)
34 37
35 -obj: $(FILES) $(INCLUDES)  
36 - $(CC) -c -Fo$(OUT) -clr $(FILES) $(CFLAGS) $(LFLAGS) 38 +#Gera .obj da classe de teste
  39 +testLibras: $(FILES) $(INCLUDES) src\testLibras.cpp
  40 + $(CC) -c -FotestLibras -EHsc Main.cpp $(FILES) $(CFLAGS) $(LFLAGS)
37 41
  42 +#Gera.obj do pyTradutor
  43 +pyTradutor: src\pyTradutor.cpp src\pyTradutor.h
  44 + $(CC) -c -FopyTradutor -EHsc src\pyTradutor.cpp $(CFLAGS) $(LFLAGS)
  45 +
  46 +#Gera .obj do pyClip
  47 +pyClip: src\pyClip.cpp src\pyClip.h
  48 + $(CC) -c -FopyClip -EHsc src\pyClip.cpp $(CFLAGS) $(LFLAGS)
  49 +
  50 +#Limpa arquivos objetos e executáveis criados
38 clean: 51 clean:
39 - del -q *.exe *.obj *.manifest 52 + del -q *.exe *.obj
  53 +
  54 +#Limpa dll criada em arquitetura x-86
  55 +clean-plugin-x86:
  56 + del -q plugin\Plugin-x86\*
  57 +
  58 +#Limpa dll criada em arquiterutra x64
  59 +clean-plugin-x64:
  60 + del -q plugin\Plugin-x64\*
  61 +
  62 +#Gera executável para testar a dll
  63 +test-plugin:
  64 + $(CC) plugin\testPlugin.cpp -EHsc
  65 +
  66 +# Baixa e instala dependências
  67 +install:
  68 + instalador\install
40 69
  70 +#Gera documentação
41 doc: 71 doc:
include/pyClip.h 0 → 100644
@@ -0,0 +1,26 @@ @@ -0,0 +1,26 @@
  1 +#ifndef _PYCLIP_H
  2 +#define _PYCLIP_H
  3 +
  4 +#include "Python.h"
  5 +
  6 +namespace Clipboard
  7 +{
  8 + class PyClip
  9 + {
  10 + private:
  11 + PyObject * pName;
  12 + PyObject * pModule;
  13 + PyObject * pDict;
  14 + PyObject * pFunc;
  15 + PyObject * pArgs;
  16 + PyObject * pResult;
  17 + public:
  18 + PyClip();
  19 + ~PyClip();
  20 + char* clip();
  21 +
  22 + };
  23 +}
  24 +
  25 +#endif
  26 +
include/pyTradutor.h
1 -/**  
2 - * @author Erickson Silva  
3 - * @date 14/10/2013  
4 - *  
5 - */ 1 +//*****************************************************************
  2 +/*
  3 + VLibras: Automatic contents translator from Portuguese to LIBRAS
6 4
7 -#include "Python.h" 5 + Copyright (c) 2015 Gustavo Sobral, Erickson Silva, Leonardo Araújo
  6 + VLibras-Core group at LAViD, Federal University of Paraiba
  7 +*/
  8 +//*****************************************************************
8 9
  10 +/**
  11 + * \file pyTradutor.hpp
  12 + * \authors Erickson Silva, Gustavo Sobral
  13 + * \date Janeiro 2015
  14 + */
9 #ifndef _PYTRADUTOR_H 15 #ifndef _PYTRADUTOR_H
10 #define _PYTRADUTOR_H 16 #define _PYTRADUTOR_H
11 17
12 -namespace Tradutor {  
13 - class PyTradutor{  
14 - public:  
15 - PyTradutor();  
16 - ~PyTradutor();  
17 - char * convertStringToGlosa(const char * input);  
18 - PyObject * pName;  
19 - PyObject * pModule;  
20 - PyObject * pDict;  
21 - PyObject * pFunc;  
22 - PyObject * pArgs;  
23 - PyObject * pResult;  
24 - bool isRunning;  
25 - };  
26 -} 18 +#include "Python.h"
  19 +
  20 +/** \brief Classe para execução do Tradutor
  21 + *
  22 + * Essa classe permite a execução e comunição do Tradutor
  23 + * (Português -> Glosa) do sistema escrito em Python
  24 + * permitindo sua utilização numa aplicação C++.
  25 + */
  26 + namespace Tradutor
  27 + {
  28 + class PyTradutor
  29 + {
  30 + private:
  31 + PyObject * pName;
  32 + PyObject * pModule;
  33 + PyObject * pDict;
  34 + PyObject * pFunc;
  35 + PyObject * pArgs;
  36 + PyObject * pResult;
  37 + public:
  38 + /** \brief O construtor da classe
  39 + *
  40 + * O construtor inicia o ambiente Python para execução da tradução do tradutor.
  41 + */
  42 + PyTradutor();
27 43
28 -#endif 44 + /** \brief O destrutor da classe
  45 + *
  46 + * O Destrutor finaliza o ambiente Python montado para execução da tradução.
  47 + */
  48 + ~PyTradutor();
29 49
  50 + /** \brief Converte Português para Glosa
  51 + *
  52 + * Converte a string de entrada em Português para Glosa
  53 + * através da execução do Tradutor e retorna esse resultado
  54 + *
  55 + * \param input Ponteiro para char com o texto de entrada em Portugês
  56 + * \return Ponteiro para char com a tradução da entrada em Glosa
  57 + */
  58 + char * convertStringToGlosa(const char * input);
  59 + };
  60 +}
30 61
  62 +#endif
31 \ No newline at end of file 63 \ No newline at end of file
instalador/install.bat 0 → 100644
@@ -0,0 +1,91 @@ @@ -0,0 +1,91 @@
  1 +::############################## Instalador VLibras ############################
  2 +::# #
  3 +::# Bruno Santos #
  4 +::# brunosantos@lavid.ufpb.br #
  5 +::# #
  6 +::##############################################################################
  7 +
  8 +::Define Título da janela do prompt
  9 +TITLE Instalador VLibras-Core Windows
  10 +
  11 +::Limpa a tela
  12 +CLS
  13 +
  14 +::Desabilita mensagens
  15 +@ECHO off
  16 +
  17 +ECHO ############### Instalando VLibras ###############
  18 +
  19 +::################# Variáveis de Ambiente #################
  20 +:VAR
  21 +ECHO Deseja Exportar as variaveis de ambiente: (S - N)
  22 +
  23 +::Solicita valor do usuário
  24 +SET /p valor=--^>
  25 +
  26 +IF /I %valor% == n GOTO NO_VAR
  27 +IF /I %valor% == s (ECHO OK!) ELSE (GOTO VAR)
  28 +
  29 +ECHO.
  30 +ECHO Exportando Variaveis de Ambiente:
  31 +ECHO.
  32 +
  33 +::Váriaveis Permanentes (Sistema)
  34 +ECHO AELIUS_DATA
  35 +SETX AELIUS_DATA %HOMEPATH%\vlibras-libs\aelius_data /M
  36 +
  37 +ECHO NLTK_DATA
  38 +SETX NLTK_DATA %HOMEPATH%\vlibras-libs\nltk_data /M
  39 +
  40 +ECHO HUNPOS_TAGGER
  41 +SETX HUNPOS_TAGGER %HOMEPATH%\vlibras-libs\bin\hunpos-tag.exe /M
  42 +
  43 +ECHO PYTHONPATH
  44 +SETX PYTHONPATH %HOMEDRIVE%\Python27;%HOMEDRIVE%\Python27\Scripts;%HOMEDRIVE%\Python27\Lib\site-packages;%HOMEPATH%\vlibras-libs;%HOMEPATH%\vlibras-libs\tradutor;%HOMEPATH%\vlibras-core-win\Clipboard /M
  45 +
  46 +SETX "PATH" "%PATH%";%HOMEPATH%\vlibras-libs\bin;%HOMEDRIVE%\Python27;%HOMEDRIVE%\Python27\Scripts;%HOMEDRIVE%\Python27\Lib\site-packages;%HOMEDRIVE%"\Program Files (x86)\7-Zip" /M
  47 +
  48 +::Código executa a partir desse ponto caso o usuário não precise configurar as variáveis de ambiente
  49 +:NO_VAR
  50 +
  51 +::################# Instalação do Python #################
  52 +:PYTHON
  53 +ECHO Deseja Instalar o Python-2.7.9: (S - N)
  54 +
  55 +SET /p valor=--^>
  56 +IF /I %valor% == n GOTO NO_PYTHON
  57 +IF /I %valor% == s (ECHO OK!) ELSE (GOTO PYTHON)
  58 +
  59 +msiexec /i python-2.7.9.msi /passive
  60 +
  61 +::Código executa a partir desse ponto caso o usuário não precise Instalar o Python
  62 +:NO_PYTHON
  63 +
  64 +::################# Instalação do Aelius #################
  65 +:TRADUTOR
  66 +ECHO Deseja Instalar o VLibras Tradutor (S - N)
  67 +
  68 +SET /p valor=--^>
  69 +IF /I %valor% == n GOTO END
  70 +IF /I %valor% == s (ECHO OK!) ELSE (GOTO TRADUTOR)
  71 +
  72 +pyyaml.exe
  73 +numpy.exe
  74 +matplotlib.exe
  75 +nltk.exe
  76 +
  77 +IF NOT EXIST C:"\Program Files (x86)\7-Zip" (msiexec /i 7zip.msi /passive)
  78 +
  79 +ECHO 7-Zip instalado com sucesso!
  80 +
  81 +COPY C:"\Program Files (x86)\7-Zip\7z.exe" %SYSTEMROOT%\System32
  82 +
  83 +::################# Instalação do VLibras #################
  84 +
  85 +ECHO Extraindo Arquivos...
  86 +7z x -o%HOMEPATH% vlibras-libs.zip vlibras-libs
  87 +
  88 +:END
  89 +ECHO VLibras Tradutor instalado com sucesso!
  90 +
  91 +cd %HOMEPATH%\vlibras-libs
plugin/Plugin-x64/CorePlugin.dll 0 → 100644
No preview for this file type
plugin/Plugin-x64/CorePlugin.lib 0 → 100644
No preview for this file type
plugin/Plugin-x86/CorePlugin.dll 0 → 100644
No preview for this file type
plugin/Plugin-x86/CorePlugin.lib 0 → 100644
No preview for this file type
plugin/corePlugin.cpp 0 → 100644
@@ -0,0 +1,40 @@ @@ -0,0 +1,40 @@
  1 +
  2 +#if _MSC_VER
  3 +#define EXPORT_API __declspec(dllexport)
  4 +#else
  5 +#define EXPORT_API __declspec(dllimport)
  6 +#endif
  7 +
  8 +#include "corePlugin.h"
  9 +
  10 + extern "C"
  11 +{
  12 + EXPORT_API int coreInitialize()
  13 + {
  14 + //Objeto usado para traduzir
  15 + tradutor = new PyTradutor();
  16 +
  17 + //Objeto usado para copiar texto da área de transferência
  18 + clipboard = new PyClip();
  19 + return 1;
  20 + }
  21 +
  22 + EXPORT_API char* coreExecute()
  23 + {
  24 + //Copia área de transferência para input
  25 + char *input = clipboard->clip();
  26 +
  27 + //Retorna a tradução do texto para glosa
  28 + return tradutor->convertStringToGlosa(input);
  29 + }
  30 +
  31 + EXPORT_API int coreFinalize()
  32 + {
  33 + delete tradutor;
  34 + return 1;
  35 + }
  36 +
  37 +}
  38 +
  39 +
  40 +
plugin/corePlugin.h 0 → 100644
@@ -0,0 +1,28 @@ @@ -0,0 +1,28 @@
  1 +#ifndef _COREPLUGIN_H
  2 +#define _COREPLUGIN_H
  3 +
  4 +#include "pyTradutor.h"
  5 +#include "pyClip.h"
  6 +
  7 +using namespace Tradutor;
  8 +using namespace Clipboard;
  9 +
  10 +extern "C"
  11 +{
  12 + //Usado para traduzir português para glosa
  13 + PyTradutor *tradutor;
  14 +
  15 + //Usado para copiar texto da área de transferência
  16 + PyClip *clipboard;
  17 +
  18 + //Inicializa Objetos
  19 + EXPORT_API int coreInitize(void);
  20 +
  21 + //Faz tradução de Português para glosa
  22 + EXPORT_API char* coreExecute(void);
  23 +
  24 + //Libera Objetos utilizados
  25 + EXPORT_API int coreFinalize(void);
  26 +}
  27 +
  28 +#endif
0 \ No newline at end of file 29 \ No newline at end of file
plugin/testPlugin.cpp 0 → 100644
@@ -0,0 +1,47 @@ @@ -0,0 +1,47 @@
  1 +#include <IOSTREAM>
  2 +#include <windows.h>
  3 +
  4 +using namespace std;
  5 +
  6 +//Assinatura dos métodos utilizados na dll
  7 +typedef int (WINAPI*metodo1)();
  8 +metodo1 initialize;
  9 +
  10 +typedef char* (WINAPI*metodo2)();
  11 +metodo2 execute;
  12 +
  13 +typedef int (WINAPI*metodo3)();
  14 +metodo3 finalize;
  15 +
  16 +int main(int argc, char *argv[])
  17 +{
  18 + //Carrega a dll
  19 + HINSTANCE hDLL = LoadLibrary("plugin\\Plugin-x86\\CorePlugin.dll");
  20 +
  21 + if (hDLL)
  22 + cout << "dll criada com sucesso" <<endl;
  23 + else
  24 + cout << "dll falhou" <<endl;
  25 +
  26 + //Relaciona método local com o método implementado na dll
  27 + initialize=(metodo1)GetProcAddress((HMODULE)hDLL, "coreInitialize");
  28 + execute=(metodo2)GetProcAddress((HMODULE)hDLL, "coreExecute");
  29 + finalize=(metodo3)GetProcAddress((HMODULE)hDLL, "coreFinalize");
  30 +
  31 + //Executa coreInitialize
  32 + int init = initialize();
  33 + cout <<"return initialize: " << init <<endl;
  34 +
  35 + //Executa coreExecute
  36 + char* exec = execute();
  37 + cout << "return execute: " << exec <<endl;
  38 +
  39 + //Executa coreFinalize
  40 + int final = finalize();
  41 + cout << "return finalize: " << final <<endl;
  42 +
  43 + //Libera dll
  44 + FreeLibrary((HMODULE)hDLL);
  45 +
  46 + return 0;
  47 +}
src/Main.cpp
@@ -1,75 +0,0 @@ @@ -1,75 +0,0 @@
1 -#include <IOSTREAM>  
2 -#include <string>  
3 -#include <msclr/marshal.h>  
4 -#include <fstream>  
5 -#include <algorithm>  
6 -#include "pyTradutor.h"  
7 -  
8 -#using <system.dll>  
9 -#using <system.Drawing.dll>  
10 -#using <system.windows.forms.dll>  
11 -  
12 -using namespace System;  
13 -using namespace System::Windows::Forms;  
14 -  
15 -using namespace std;  
16 -using namespace Tradutor;  
17 -  
18 -  
19 -[STAThread]int main(int argc, char *argv[])  
20 -{  
21 - //Objeto para acessar a área de transferência do windows  
22 - System::Windows::Forms::IDataObject^ data = Clipboard::GetDataObject( );  
23 - //Objeto para traduzir para glosa  
24 - PyTradutor *tradutor = new PyTradutor();  
25 - //Objeto para converter system::String para consta char*  
26 - msclr::interop::marshal_context convert;  
27 - //Variável para armazenar a glosa  
28 - std::string glosa;  
29 - //Entrada a ser traduzida  
30 - const char* input;  
31 - //Arquivo de texto de saída  
32 - ofstream myfile;  
33 - //Home do usuário corrente  
34 - char *home = getenv("HOMEPATH");  
35 -  
36 - //Verifica se existe informação na área de transferência  
37 - if (data)  
38 - {  
39 - //Verifica se o arquivo é do tipo texto  
40 - if (data->GetDataPresent(DataFormats::Text))  
41 - {  
42 - //Copia área de transferência para variável do sistema  
43 - String^ clip = static_cast<String^> (data->GetData(DataFormats::Text));  
44 -  
45 - //Converte system::String para const char*  
46 - input = convert.marshal_as<const char*>(clip);  
47 - //Console::WriteLine(text);  
48 - }  
49 - else  
50 - //Área de transfência sem texto  
51 - Console::WriteLine("O conteúdo selecionado não é um texto.");  
52 - }  
53 - else  
54 - //Área de transferência vazia  
55 - Console::WriteLine("Nada foi selecionado.");  
56 -  
57 - //Converte o texto selecionado para glosa  
58 - glosa = tradutor->convertStringToGlosa(input);  
59 -  
60 - //imprime a glosa  
61 - cout << glosa <<endl;  
62 -  
63 - //Seta o texto pra lowercase  
64 - std::transform(glosa.begin(), glosa.end(), glosa.begin(), ::tolower);  
65 -  
66 - //Salva texto no arquivo que será lido pelo Unit  
67 -  
68 - strcat (home,"\\player\\vlibrasPlayer_Data\\glosaFile.txt");  
69 - myfile.open (home , ios::out);  
70 - myfile << glosa << endl;  
71 - myfile.close();  
72 -  
73 - delete tradutor;  
74 - return 0;  
75 -}  
76 \ No newline at end of file 0 \ No newline at end of file
src/pyClip.cpp 0 → 100644
@@ -0,0 +1,40 @@ @@ -0,0 +1,40 @@
  1 +#include "pyClip.h"
  2 +
  3 +namespace Clipboard
  4 +{
  5 + PyClip::PyClip()
  6 + {
  7 + // Initialize the Python interpreter
  8 + Py_Initialize();
  9 +
  10 + // Type conversion between C++ string to Py string
  11 + pName = PyString_FromString("Clipboard");
  12 + assert(pName!=NULL);
  13 + // Loads the script name saved in 'pName'
  14 + pModule = PyImport_Import(pName);
  15 + //PyErr_Print();
  16 + assert(pModule!=NULL);
  17 + // Returns the dictionary object that implements the namespace pModule
  18 + pDict = PyModule_GetDict(pModule);
  19 + //PyErr_Print();
  20 + assert(pDict!=NULL);
  21 + // Return the object from dictionary pDict which has a key 'iniciar'
  22 + pFunc = PyDict_GetItemString(pDict, "clip");
  23 + //PyErr_Print();
  24 + assert(pFunc!=NULL);
  25 + }
  26 +
  27 + PyClip::~PyClip()
  28 + {
  29 + Py_Finalize();
  30 + }
  31 +
  32 + char * PyClip::clip()
  33 + {
  34 + // Call the callable object 'pFunc' with arguments given by the tuple 'pArgs'
  35 + pResult = PyObject_CallObject(pFunc,pArgs);
  36 + assert(pResult!=NULL);
  37 +
  38 + return PyString_AsString(pResult);
  39 + }
  40 +}
0 \ No newline at end of file 41 \ No newline at end of file
src/pyTradutor.cpp
  1 +//*****************************************************************
  2 +/*
  3 + VLibras: Automatic contents translator from Portuguese to LIBRAS
  4 +
  5 + Copyright (c) 2015 Gustavo Sobral, Erickson Silva, Leonardo Araújo
  6 + VLibras-Core group at LAViD, Federal University of Paraiba
  7 +*/
  8 +//*****************************************************************
  9 +
1 /** 10 /**
2 - * Essa classe invoca os metodos do tradutor em Python  
3 - * Onde efetua a tradução do texto passado por parametro  
4 - *  
5 - * @author Erickson Silva  
6 - * @date 14/10/2013  
7 - * 11 + * \file pyTradutor.cpp
  12 + * \authors Erickson Silva, Gustavo Sobral
  13 + * \date Janeiro 2015
8 */ 14 */
9 15
10 -#include <IOSTREAM>  
11 #include "pyTradutor.h" 16 #include "pyTradutor.h"
12 17
13 -namespace Tradutor {  
14 - PyTradutor::PyTradutor() {  
15 - //DPRINTF("Done!\n");  
16 - }  
17 - PyTradutor::~PyTradutor() {  
18 - Py_DECREF(pName);  
19 - Py_DECREF(pModule);  
20 - Py_DECREF(pDict);  
21 - Py_DECREF(pFunc);  
22 - Py_DECREF(pArgs);  
23 - Py_DECREF(pResult);  
24 - //DDDPRINTF("PyTranslator finalized!\n");  
25 - }  
26 -  
27 -/**  
28 -* Traduz um texto (char * input) para uma string contendo a  
29 -* traducao para glosa  
30 -*  
31 -* @param input texto de entrada  
32 -* @return string contendo os tokens em glosa traduzidos.  
33 -**/  
34 - char * PyTradutor::convertStringToGlosa(const char * input) { 18 +namespace Tradutor
  19 +{
  20 + PyTradutor::PyTradutor()
  21 + {
  22 + // Initialize the Python interpreter
  23 + Py_Initialize();
35 24
36 - if(!isRunning){  
37 - Py_Initialize();  
38 - pName = PyString_FromString("ModuleTranslate");  
39 - assert(pName!=NULL);  
40 - pModule = PyImport_Import(pName);  
41 - PyErr_Print();  
42 - assert(pModule!=NULL);  
43 - pDict = PyModule_GetDict(pModule);  
44 - PyErr_Print();  
45 - assert(pDict!=NULL);  
46 - pFunc = PyDict_GetItemString(pDict, "iniciar");  
47 - PyErr_Print();  
48 - assert(pFunc!=NULL);  
49 - isRunning = 1;  
50 - } 25 + // Type conversion between C++ string to Py string
  26 + pName = PyString_FromString("ModuleTranslate");
  27 + assert(pName!=NULL);
  28 + // Loads the script name saved in 'pName'
  29 + pModule = PyImport_Import(pName);
  30 + //PyErr_Print();
  31 + assert(pModule!=NULL);
  32 + // Returns the dictionary object that implements the namespace pModule
  33 + pDict = PyModule_GetDict(pModule);
  34 + //PyErr_Print();
  35 + assert(pDict!=NULL);
  36 + // Return the object from dictionary pDict which has a key 'iniciar'
  37 + pFunc = PyDict_GetItemString(pDict, "iniciar");
  38 + //PyErr_Print();
  39 + assert(pFunc!=NULL);
  40 + }
51 41
52 - pArgs = PyTuple_Pack(1,PyString_FromString(input)); 42 + PyTradutor::~PyTradutor()
  43 + {
  44 + // Free the allocated memory and finalize the Python interpreter
  45 + Py_Finalize();
  46 + }
53 47
54 - PyErr_Print();  
55 - assert(pArgs!=NULL);  
56 - pResult = PyObject_CallObject(pFunc, pArgs);  
57 - PyErr_Print();  
58 - assert(pResult!=NULL);  
59 - return PyString_AsString(pResult); 48 + char * PyTradutor::convertStringToGlosa(const char * input)
  49 + {
  50 + // Generates a new Tuple object with size '1' and value 'input' (converted)
  51 + pArgs = PyTuple_Pack(1, PyString_FromString(input));
  52 + PyErr_Print();
  53 + assert(pArgs!=NULL);
  54 + // Call the callable object 'pFunc' with arguments given by the tuple 'pArgs'
  55 + pResult = PyObject_CallObject(pFunc, pArgs);
  56 + PyErr_Print();
  57 + assert(pResult!=NULL);
  58 + // Converts the string Python type to C++
  59 + return PyString_AsString(pResult);
  60 + //return "Ambulancia";
60 } 61 }
61 -}  
62 \ No newline at end of file 62 \ No newline at end of file
  63 +}
src/testLibras.cpp 0 → 100644
@@ -0,0 +1,29 @@ @@ -0,0 +1,29 @@
  1 +#include <iostream>
  2 +#include "pyClip.h"
  3 +#include "pyTradutor.h"
  4 +
  5 +using namespace std;
  6 +using namespace Tradutor;
  7 +using namespace Clipboard;
  8 +
  9 +int main(int argc, char *argv[])
  10 +{
  11 + //Usado para traduzir português para glosa
  12 + PyTradutor *tradutor = new PyTradutor();
  13 +
  14 + //Usado para copiar texto da área de transferência
  15 + PyClip *clipboard = new PyClip();
  16 +
  17 + //Copia área de transferência para input
  18 + char *input = clipboard->clip();
  19 +
  20 + //Traduz de português para glosa
  21 + char* glosa = tradutor->convertStringToGlosa(input);
  22 +
  23 + cout << glosa <<endl;
  24 +
  25 + delete clipboard;
  26 + delete tradutor;
  27 +
  28 + return 0;
  29 +}
0 \ No newline at end of file 30 \ No newline at end of file
vlibras_install/Bat_To_Exe_Converter.exe
No preview for this file type
vlibras_install/Bat_To_Exe_Converter_(x64).exe
No preview for this file type
vlibras_install/exe/7zip.msi
No preview for this file type
vlibras_install/exe/icon.ico
No preview for this file type
vlibras_install/exe/install.bat
@@ -1,92 +0,0 @@ @@ -1,92 +0,0 @@
1 -::############################## Instalador VLibras ############################  
2 -::# #  
3 -::# Bruno Santos #  
4 -::# brunosantos@lavid.ufpb.br #  
5 -::# #  
6 -::##############################################################################  
7 -  
8 -::Define Título da janela do prompt  
9 -TITLE Instalador VLibras-Core Windows  
10 -  
11 -::Limpa a tela  
12 -CLS  
13 -  
14 -::Desabilita mensagens  
15 -@ECHO off  
16 -  
17 -ECHO ############### Instalando VLibras ###############  
18 -  
19 -::################# Variáveis de Ambiente #################  
20 -:VAR  
21 -ECHO Deseja Exportar as variaveis de ambiente: (S - N)  
22 -  
23 -::Solicita valor do usuário  
24 -SET /p valor=--^>  
25 -  
26 -IF /I %valor% == n GOTO NO_VAR  
27 -IF /I %valor% == s (ECHO OK!) ELSE (GOTO VAR)  
28 -  
29 -ECHO.  
30 -ECHO Exportando Variaveis de Ambiente:  
31 -ECHO.  
32 -  
33 -::Váriaveis Permanentes (Sistema)  
34 -ECHO AELIUS_DATA  
35 -SETX AELIUS_DATA %HOMEPATH%\vlibras-libs\aelius_data /M  
36 -  
37 -ECHO NLTK_DATA  
38 -SETX NLTK_DATA %HOMEPATH%\vlibras-libs\nltk_data /M  
39 -  
40 -ECHO HUNPOS_TAGGER  
41 -SETX HUNPOS_TAGGER %HOMEPATH%\vlibras-libs\bin /M  
42 -  
43 -ECHO PYTHONPATH  
44 -SETX PYTHONPATH %HOMEDRIVE%\Python27;%HOMEDRIVE%\Python27\Scripts;%HOMEDRIVE%\Python27\Lib\site-packages;%HOMEPATH%\vlibras-libs;%HOMEPATH%\vlibras-libs\tradutor /M  
45 -  
46 -SETX "PATH" "%PATH%";%HOMEPATH%\vlibras-libs\bin;%HOMEDRIVE%\Python27;%HOMEDRIVE%\Python27\Scripts;%HOMEDRIVE%\Python27\Lib\site-packages;%HOMEDRIVE%"\Program Files (x86)\7-Zip" /M  
47 -  
48 -::Código executa a partir desse ponto caso o usuário não precise configurar as variáveis de ambiente  
49 -:NO_VAR  
50 -  
51 -::################# Instalação do Python #################  
52 -:PYTHON  
53 -ECHO Deseja Instalar o Python-2.7.9: (S - N)  
54 -  
55 -SET /p valor=--^>  
56 -IF /I %valor% == n GOTO NO_PYTHON  
57 -IF /I %valor% == s (ECHO OK!) ELSE (GOTO PYTHON)  
58 -  
59 -msiexec /i python-2.7.9.msi /passive  
60 -  
61 -::Código executa a partir desse ponto caso o usuário não precise Instalar o Python  
62 -:NO_PYTHON  
63 -  
64 -::################# Instalação do Aelius #################  
65 -:TRADUTOR  
66 -ECHO Deseja Instalar o VLibras Tradutor (S - N)  
67 -  
68 -SET /p valor=--^>  
69 -IF /I %valor% == n GOTO END  
70 -IF /I %valor% == s (ECHO OK!) ELSE (GOTO TRADUTOR)  
71 -  
72 -pyyaml.exe  
73 -numpy.exe  
74 -matplotlib.exe  
75 -nltk.exe  
76 -  
77 -IF NOT EXIST C:"\Program Files (x86)\7-Zip" (msiexec /i 7zip.msi /passive)  
78 -  
79 -ECHO 7-Zip instalado com sucesso!  
80 -  
81 -COPY C:"\Program Files (x86)\7-Zip\7z.exe" %SYSTEMROOT%\System32  
82 -  
83 -::################# Instalação do VLibras #################  
84 -  
85 -ECHO Extraindo Arquivos...  
86 -7z x -o%HOMEPATH% vlibras-libs.zip vlibras-libs  
87 -  
88 -:END  
89 -ECHO VLibras Tradutor instalado com sucesso!  
90 -  
91 -cd %HOMEPATH%\vlibras-libs  
92 -DragKing  
93 \ No newline at end of file 0 \ No newline at end of file
vlibras_install/exe/matplotlib.exe
No preview for this file type
vlibras_install/exe/nltk.exe
No preview for this file type
vlibras_install/exe/numpy.exe
No preview for this file type
vlibras_install/exe/python-2.7.9.msi
No preview for this file type
vlibras_install/exe/pyyaml.exe
No preview for this file type
vlibras_install/exe/vlibras-libs.zip
No preview for this file type