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 @@
  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 21 \ No newline at end of file
... ...
Clipboard/Clipboard.pyc 0 → 100644
No preview for this file type
Makefile
... ... @@ -15,27 +15,57 @@ LFLAGS = -link C:\Python27\libs\python27.lib
15 15 CC = cl
16 16  
17 17 # Nome do arquivo de saída
18   -OUT = tradutor
  18 +OUT = testLibras
19 19  
20 20 # Arquivos de implementação
21   -FILES = src\pyTradutor.cpp src\Main.cpp
  21 +FILES = src\pyTradutor.cpp src\pyClip.cpp
22 22  
23 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 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 71 doc:
... ...
include/pyClip.h 0 → 100644
... ... @@ -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 15 #ifndef _PYTRADUTOR_H
10 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 63 \ No newline at end of file
... ...
instalador/install.bat 0 → 100644
... ... @@ -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 @@
  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 @@
  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 29 \ No newline at end of file
... ...
plugin/testPlugin.cpp 0 → 100644
... ... @@ -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   -#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 0 \ No newline at end of file
src/pyClip.cpp 0 → 100644
... ... @@ -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 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 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 62 \ No newline at end of file
  63 +}
... ...
src/testLibras.cpp 0 → 100644
... ... @@ -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 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   -::############################## 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 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