Commit f1fb41d77ca33531df41ad173b416bb7557489ea
1 parent
aa995730
Exists in
master
and in
1 other branch
Alteração do recodificador
Showing
7 changed files
with
26 additions
and
42 deletions
Show diff stats
extrator/src/extratorSRT.cpp
| 1 | #include "extratorSRT.h" | 1 | #include "extratorSRT.h" |
| 2 | -#include <iostream> | ||
| 3 | 2 | ||
| 4 | ExtratorSRT::ExtratorSRT(){ | 3 | ExtratorSRT::ExtratorSRT(){ |
| 5 | listeners = new list<ListenerSub*>(); | 4 | listeners = new list<ListenerSub*>(); |
| @@ -34,18 +33,16 @@ void ExtratorSRT::notifyEndExtraction(int size) { | @@ -34,18 +33,16 @@ void ExtratorSRT::notifyEndExtraction(int size) { | ||
| 34 | } | 33 | } |
| 35 | 34 | ||
| 36 | void ExtratorSRT::encodingfiletoUTF8() { | 35 | void ExtratorSRT::encodingfiletoUTF8() { |
| 37 | - string iconvcmd = "iconv -f"; //Recodifica o arquivo para utf-8 | 36 | + string recmd = "recode "; |
| 37 | + recmd.append("$(file --mime-encoding -b ") | ||
| 38 | + .append(this->filePath).append(")..utf-8 ") | ||
| 39 | + .append(this->filePath); | ||
| 40 | + system(recmd.c_str()); | ||
| 38 | 41 | ||
| 39 | - iconvcmd.append(" $(file --mime-encoding -b ") | ||
| 40 | - .append(this->filePath).append(") -t utf-8 ") | ||
| 41 | - .append(this->filePath).append(" > ").append(TEMP_SRT); | ||
| 42 | - system(iconvcmd.c_str()); | 42 | + string sedcmd = "sed -i 's/.$//' "; |
| 43 | + sedcmd.append(this->filePath); | ||
| 44 | + system(sedcmd.c_str()); | ||
| 43 | 45 | ||
| 44 | - string perlcmd = "perl -p -e 's/\r$//' < "; //Formata a quebra de linha | ||
| 45 | - | ||
| 46 | - perlcmd.append(TEMP_SRT).append(" > ").append(this->filePath) | ||
| 47 | - .append(" && rm -f ").append(TEMP_SRT); | ||
| 48 | - system(perlcmd.c_str()); | ||
| 49 | } | 46 | } |
| 50 | 47 | ||
| 51 | void ExtratorSRT::setFilePath(char* path) { | 48 | void ExtratorSRT::setFilePath(char* path) { |
| @@ -62,7 +59,7 @@ void ExtratorSRT::initialize(){ | @@ -62,7 +59,7 @@ void ExtratorSRT::initialize(){ | ||
| 62 | }catch(Exception &ex){ | 59 | }catch(Exception &ex){ |
| 63 | finish = true; | 60 | finish = true; |
| 64 | Logging::instance()->writeLog("extratorSRT.cpp <Error>: Arquivo de legenda não encontrado."); | 61 | Logging::instance()->writeLog("extratorSRT.cpp <Error>: Arquivo de legenda não encontrado."); |
| 65 | - throw lavidlib::RuntimeException("Falha ao abrir o arquivo de legenda! Verifique se o mesmo existe.\n"); | 62 | + throw ExtratorException("Falha ao abrir o arquivo de legenda! Verifique se o mesmo existe.\n"); |
| 66 | } | 63 | } |
| 67 | this->Start(); | 64 | this->Start(); |
| 68 | 65 |
extrator/src/extratorTXT.cpp
| @@ -44,18 +44,15 @@ void ExtratorTXT::notifyEndExtraction(int size) { | @@ -44,18 +44,15 @@ void ExtratorTXT::notifyEndExtraction(int size) { | ||
| 44 | } | 44 | } |
| 45 | 45 | ||
| 46 | void ExtratorTXT::encodingfiletoUTF8() { | 46 | void ExtratorTXT::encodingfiletoUTF8() { |
| 47 | - string iconvcmd = "iconv -f"; //Recodifica o arquivo para utf-8 | 47 | + string recmd = "recode "; |
| 48 | + recmd.append("$(file --mime-encoding -b ") | ||
| 49 | + .append(this->filePath).append(")..utf-8 ") | ||
| 50 | + .append(this->filePath); | ||
| 51 | + system(recmd.c_str()); | ||
| 48 | 52 | ||
| 49 | - iconvcmd.append(" $(file --mime-encoding -b ") | ||
| 50 | - .append(this->filePath).append(") -t utf-8 ") | ||
| 51 | - .append(this->filePath).append(" > ").append(TEMP_TXT); | ||
| 52 | - system(iconvcmd.c_str()); | ||
| 53 | - | ||
| 54 | - string perlcmd = "perl -p -e 's/\r$//' < "; //Formata a quebra de linha | ||
| 55 | - | ||
| 56 | - perlcmd.append(TEMP_TXT).append(" > ").append(this->filePath) | ||
| 57 | - .append(" && rm -f ").append(TEMP_TXT); | ||
| 58 | - system(perlcmd.c_str()); | 53 | + string sedcmd = "sed -i 's/.$//' "; |
| 54 | + sedcmd.append(this->filePath); | ||
| 55 | + system(sedcmd.c_str()); | ||
| 59 | } | 56 | } |
| 60 | 57 | ||
| 61 | void ExtratorTXT::setFilePath(char* path){ | 58 | void ExtratorTXT::setFilePath(char* path){ |
extrator/src/extratorVTT.cpp
| @@ -33,18 +33,15 @@ void ExtratorVTT::notifyEndExtraction(int size) { | @@ -33,18 +33,15 @@ void ExtratorVTT::notifyEndExtraction(int size) { | ||
| 33 | } | 33 | } |
| 34 | 34 | ||
| 35 | void ExtratorVTT::encodingfiletoUTF8() { | 35 | void ExtratorVTT::encodingfiletoUTF8() { |
| 36 | - string iconvcmd = "iconv -f"; //Recodifica o arquivo para utf-8 | ||
| 37 | - | ||
| 38 | - iconvcmd.append(" $(file --mime-encoding -b ") | ||
| 39 | - .append(this->filePath).append(") -t utf-8 ") | ||
| 40 | - .append(this->filePath).append(" > ").append(TEMP_SRT); | ||
| 41 | - system(iconvcmd.c_str()); | ||
| 42 | - | ||
| 43 | - string perlcmd = "perl -p -e 's/\r$//' < "; //Formata a quebra de linha | ||
| 44 | - | ||
| 45 | - perlcmd.append(TEMP_SRT).append(" > ").append(this->filePath) | ||
| 46 | - .append(" && rm -f ").append(TEMP_SRT); | ||
| 47 | - system(perlcmd.c_str()); | 36 | + string recmd = "recode "; |
| 37 | + recmd.append("$(file --mime-encoding -b ") | ||
| 38 | + .append(this->filePath).append(")..utf-8 ") | ||
| 39 | + .append(this->filePath); | ||
| 40 | + system(recmd.c_str()); | ||
| 41 | + | ||
| 42 | + string sedcmd = "sed -i 's/.$//' "; | ||
| 43 | + sedcmd.append(this->filePath); | ||
| 44 | + system(sedcmd.c_str()); | ||
| 48 | } | 45 | } |
| 49 | 46 | ||
| 50 | void ExtratorVTT::setFilePath(char* path) { | 47 | void ExtratorVTT::setFilePath(char* path) { |
extrator/src/include/extratorSRT.h
| @@ -23,7 +23,6 @@ | @@ -23,7 +23,6 @@ | ||
| 23 | #define TARGET_TIME "-->" | 23 | #define TARGET_TIME "-->" |
| 24 | #define LESS_THAN "<" | 24 | #define LESS_THAN "<" |
| 25 | #define MORE_THAN ">" | 25 | #define MORE_THAN ">" |
| 26 | -#define TEMP_SRT "/tmp/tempsrt.srt" | ||
| 27 | //#define MAX_LINE 1024 | 26 | //#define MAX_LINE 1024 |
| 28 | 27 | ||
| 29 | using namespace jthread; | 28 | using namespace jthread; |
extrator/src/include/extratorTXT.h
| @@ -14,8 +14,6 @@ | @@ -14,8 +14,6 @@ | ||
| 14 | #include "listenerTXT.h" | 14 | #include "listenerTXT.h" |
| 15 | #include "extratorException.h" | 15 | #include "extratorException.h" |
| 16 | 16 | ||
| 17 | -#define TEMP_TXT "/tmp/temptxt.txt" | ||
| 18 | - | ||
| 19 | using namespace jthread; | 17 | using namespace jthread; |
| 20 | using namespace std; | 18 | using namespace std; |
| 21 | 19 |
extrator/src/include/extratorVTT.h
| @@ -16,7 +16,6 @@ | @@ -16,7 +16,6 @@ | ||
| 16 | #define LESS_THAN "<" | 16 | #define LESS_THAN "<" |
| 17 | #define MORE_THAN ">" | 17 | #define MORE_THAN ">" |
| 18 | #define SIZE_SCAPE 1 | 18 | #define SIZE_SCAPE 1 |
| 19 | -#define TEMP_SRT "/tmp/tempsrt.srt" | ||
| 20 | 19 | ||
| 21 | using namespace std; | 20 | using namespace std; |
| 22 | using namespace sndesc; | 21 | using namespace sndesc; |
log/log