Optimize codes

Move node renaming after removing Emojis.
This commit is contained in:
Tindy X committed 2020-06-10 22:52:17 +08:00
1 parent 11ed400fc7
commit 80d16f3130
6 files changed
+34 -52

No files matched your search

+4 -29
View File
@@ -1,5 +1,6 @@
#include <string>
#include <iostream>
#include <thread>
#include <sys/time.h>
#include <sys/types.h>
#include <unistd.h>
@@ -37,35 +38,9 @@ std::string getTime(int type)
void writeLog(int type, std::string content, int level)
{
//placeholder
/*
if(print_debug_info)
std::cerr<<getTime(2)<<" [DEBUG] "<<content<<"\n";
*/
if(level > global_log_level)
return;
//std::cerr<<getTime(2)<<" ["<<getpid()<<"]";
switch(level)
{
case LOG_LEVEL_VERBOSE:
std::cerr<<getTime(2)<<" ["<<getpid()<<"]"<<"[VERB]"<<" "<<content<<"\n";
break;
case LOG_LEVEL_DEBUG:
std::cerr<<getTime(2)<<" ["<<getpid()<<"]"<<"[DEBG]"<<" "<<content<<"\n";
break;
case LOG_LEVEL_INFO:
std::cerr<<getTime(2)<<" ["<<getpid()<<"]"<<"[INFO]"<<" "<<content<<"\n";
break;
case LOG_LEVEL_WARNING:
std::cerr<<getTime(2)<<" ["<<getpid()<<"]"<<"[WARN]"<<" "<<content<<"\n";
break;
case LOG_LEVEL_ERROR:
std::cerr<<getTime(2)<<" ["<<getpid()<<"]"<<"[ERRO]"<<" "<<content<<"\n";
break;
case LOG_LEVEL_FATAL:
std::cerr<<getTime(2)<<" ["<<getpid()<<"]"<<"[FATL]"<<" "<<content<<"\n";
break;
}
//std::cerr<<" "<<content<<"\n";
const char *levels[] = {"[FATL]", "[ERRO]", "[WARN]", "[INFO]", "[DEBG]", "[VERB]"};
std::cerr<<getTime(2)<<" ["<<getpid()<<" "<<std::this_thread::get_id()<<"]"<<levels[level % 6];
std::cerr<<" "<<content<<"\n";
}
+22 -13
View File
@@ -58,11 +58,25 @@ void chkArg(int argc, char *argv[])
update_ruleset_on_request = true;
}
else if(strcmp(argv[i], "-f") == 0 || strcmp(argv[i], "--file") == 0)
pref_path.assign(argv[++i]);
{
if(i < argc - 1)
pref_path.assign(argv[++i]);
}
else if(strcmp(argv[i], "-g") == 0 || strcmp(argv[i], "--gen") == 0)
{
generator_mode = true;
}
else if(strcmp(argv[i], "--artifact") == 0)
gen_profile.assign(argv[++i]);
{
if(i < argc - 1)
gen_profile.assign(argv[++i]);
}
else if(strcmp(argv[i], "-l") == 0 || strcmp(argv[i], "--log") == 0)
{
if(i < argc - 1)
if(freopen(argv[++i], "a", stderr) == NULL)
std::cerr<<"Error redirecting output to file.\n";
}
}
}
@@ -85,6 +99,10 @@ void signal_handler(int sig)
int main(int argc, char *argv[])
{
if(fileExist("pref.yml"))
pref_path = "pref.yml";
chkArg(argc, argv);
setcd(pref_path); //then switch to pref directory
writeLog(0, "SubConverter " VERSION " starting up..", LOG_LEVEL_INFO);
#ifdef _WIN32
WSADATA wsaData;
@@ -95,6 +113,7 @@ int main(int argc, char *argv[])
return 1;
}
UINT origcp = GetConsoleOutputCP();
defer(SetConsoleOutputCP(origcp);)
SetConsoleOutputCP(65001);
#else
signal(SIGPIPE, SIG_IGN);
@@ -110,23 +129,13 @@ int main(int argc, char *argv[])
std::string prgpath = argv[0];
setcd(prgpath); //first switch to program directory
#endif // _DEBUG
if(fileExist("pref.yml"))
pref_path = "pref.yml";
chkArg(argc, argv);
setcd(pref_path); //then switch to pref directory
readConf();
if(!update_ruleset_on_request)
refreshRulesets(rulesets, ruleset_content_array);
generateBase();
if(generator_mode)
{
int retVal = simpleGenerator();
#ifdef _WIN32
SetConsoleOutputCP(origcp);
#endif // _WIN32
return retVal;
}
return simpleGenerator();
append_response("GET", "/", "text/plain", [](RESPONSE_CALLBACK_ARGS) -> std::string
{
+4 -9
View File
@@ -69,7 +69,7 @@ public:
template <typename T> void define(const T &value)
{
if(_M_VALUE == -1)
set(value);
*this = value;
}
bool get(const bool &def_value = false)
@@ -85,12 +85,6 @@ public:
return _M_VALUE;
}
bool set(const tribool &value)
{
_M_VALUE = value._M_VALUE;
return _M_VALUE;
}
bool set(const std::string &str)
{
switch(hash_(str))
@@ -185,11 +179,12 @@ template <typename T> static inline void eraseElements(T &target)
T().swap(target);
}
template <typename T> static inline T to_number(const std::string &str, T def_value)
template <typename T, typename U> static inline T to_number(const U &value, T def_value = T())
{
T retval = 0.0;
char c;
std::stringstream ss(str);
std::stringstream ss;
ss << value;
if(!(ss >> retval))
return def_value;
else if(ss >> c)
+1
View File
@@ -23,6 +23,7 @@
#ifndef SA_INTERRUPT
#define SA_INTERRUPT 0 //ignore this setting
#endif
#define SD_BOTH SHUT_RDWR
#ifndef __hpux
#include <sys/select.h>
#endif /* __hpux */
+2 -1
View File
@@ -991,10 +991,11 @@ void preprocessNodes(std::vector<nodeInfo> &nodes, extra_settings &ext)
{
std::for_each(nodes.begin(), nodes.end(), [ext](nodeInfo &x)
{
x.remarks = nodeRename(x, ext.rename_array);
if(ext.remove_emoji)
x.remarks = trim(removeEmoji(x.remarks));
x.remarks = nodeRename(x, ext.rename_array);
if(ext.add_emoji)
x.remarks = addEmoji(x, ext.emoji_array);
});
+1
View File
@@ -287,6 +287,7 @@ int start_web_server_multi(void *argv)
for (i = 0; i < nthreads; i++)
event_base_loopbreak(base[i]); //stop the loop
shutdown(nfd, SD_BOTH); //stop accept call
closesocket(nfd); //close listener socket
return 0;