#ifndef TV_FUNCTIONS_H #define TV_FUNCTIONS_H #include #include #include #include #include #include "network.hpp" #ifdef _WIN32 using string = std::wstring; using char_t = wchar_t; std::wstring utf8_to_wstring( const std::string &utf8 ); #else using string = std::string; using char_t = char; #endif void findSeason( std::set< string > &files, int season, const string &path ); void findSeasons( std::map< int, std::set< string > > &seasons, const string &path, const std::set< int > &season_numbers ); #ifndef GUI // CLI functions void printHelp(); string encodeUrl( const string &url ); bool searchSeason( const char_t *const path, size_t &season_pos ); bool searchSeason( const char_t *const path, size_t &season_pos, size_t &ep_pos ); void parseSeasonNumbers( std::set< int > &seasons_num, const char_t *argument ); string encodeUrl( const string &url ); #else // GUI functions std::vector< std::pair< string, string > > getPossibleShows( string show, const string &language ); #endif // GUI string userHome(); void prepareDB( const std::string &_pattern = "" ); #ifndef GUI void addToDB( string &show, const string &path, const string &language, bool linux ); #else void addToDB( string &show, const string &path, const string &language, const string &url, const string &pattern, bool linux ); std::vector< std::unordered_map< std::string, std::string > > dbGetShows(); #endif void removeFromDB( const string &path ); void changeDBPattern( const string &pattern ); void refreshDB( bool linux ); void updateDB( bool linux ); void cleanDB(); void changeDB( size_t index, const string &path, const string &language, const string &id, bool dvd ); void refreshSingleDB( const size_t &index, bool linux ); void iterateFS( std::map< int, std::map< int, string > > &seasons, const string &path ); string compilePattern( const string &pattern, int season, int episode, const string &filename, const string &episodeName, const string &showName ); #endif