MCPcopy Create free account
hub / github.com/YACReader/yacreader / run

Method run

YACReaderLibrary/library_creator.cpp:137–254  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

135
136//
137void LibraryCreator::run()
138{
139 stopRunning = false;
140 canceled = false;
141#if !defined use_unarr && !defined use_libarchive
142 auto sevenzLib = YACReader::load7zLibrary();
143
144 if (!sevenzLib->load()) {
145 QLOG_ERROR() << "Loading 7z.dll : " + sevenzLib->errorString() << Qt::endl;
146 QCoreApplication::exit(YACReader::SevenZNotFound);
147 exit();
148 }
149 sevenzLib->deleteLater();
150#endif
151 if (_mode == CREATOR) {
152 QLOG_INFO() << "Starting to create new library ( " << _source << "," << _target << ")";
153 _currentPathFolders.clear();
154 // se crean los directorios .yacreaderlibrary y .yacreaderlibrary/covers
155 QDir dir;
156 dir.mkpath(LibraryPaths::libraryCoversPathFromLibraryDataPath(_target));
157
158 // se crea la base de datos .yacreaderlibrary/library.ydb
159 {
160 auto _database = DataBaseManagement::createDatabase("library", _target); //
161 _databaseConnection = _database.connectionName();
162 if (!_database.isOpen()) {
163 QLOG_ERROR() << "Unable to create data base" << _database.lastError().databaseText() + "-" + _database.lastError().driverText();
164 emit failedCreatingDB(_database.lastError().databaseText() + "-" + _database.lastError().driverText());
165 creation = false;
166 return;
167 }
168
169 _currentPathFolders.append(rootFolder(_database));
170
171 /*QSqlQuery pragma("PRAGMA foreign_keys = ON",_database);*/
172 _database.transaction();
173 // se crea la librería
174 create(QDir(_source));
175
176 DBHelper::updateChildrenInfo(_database);
177
178 _database.commit();
179 _database.close();
180 }
181 QSqlDatabase::removeDatabase(_databaseConnection);
182 emit created();
183 QLOG_INFO() << "Create library END";
184 } else {
185 QLOG_INFO() << "Starting to update folder" << _sourceFolder << "in library ( " << _source << "," << _target << ")";
186 {
187 auto _database = DataBaseManagement::loadDatabase(_target);
188
189 if (!_database.isValid()) {
190 QString error = "Unable to find database at: " + _target;
191 QLOG_ERROR() << error;
192 emit failedOpeningDB(error);
193 return;
194 }

Callers

nothing calls this directly

Calls 8

rootFolderFunction · 0.85
errorStringMethod · 0.80
execMethod · 0.80
loadMethod · 0.45
clearMethod · 0.45
closeMethod · 0.45
isValidMethod · 0.45
openMethod · 0.45

Tested by

no test coverage detected