source: subsurface/export-html.cpp

Last change on this file was 59ed9ea3, checked in by Dirk Hohndel <dirk@…>, 6 months ago

Add SPDX header to top level files

Signed-off-by: Dirk Hohndel <dirk@…>

  • Property mode set to 100644
File size: 2.0 KB
Line 
1// SPDX-License-Identifier: GPL-2.0
2/* Dirk Hohndel, 2015 */
3
4#include <QString>
5#include <QCommandLineParser>
6#include <QApplication>
7#include <QDebug>
8
9#include "core/qt-gui.h"
10#include "core/qthelper.h"
11#include "core/dive.h"
12#include "core/save-html.h"
13#include <stdio.h>
14#include "git2.h"
15#include "core/subsurfacestartup.h"
16#include "core/divelogexportlogic.h"
17#include "core/windowtitleupdate.h"
18#include "core/statistics.h"
19
20int main(int argc, char **argv)
21{
22        QApplication *application = new QApplication(argc, argv);
23        git_libgit2_init();
24        copy_prefs(&default_prefs, &prefs);
25        init_qt_late();
26
27        QCommandLineParser parser;
28        QCommandLineOption sourceDirectoryOption(QStringList() << "s" << "source",
29                                                 "Read git repository from <directory>",
30                                                 "directory");
31        parser.addOption(sourceDirectoryOption);
32        QCommandLineOption outputDirectoryOption(QStringList() << "u" << "output",
33                                                 "Write HTML files into <directory>",
34                                                 "directory");
35        parser.addOption(outputDirectoryOption);
36
37        parser.process(*application);
38
39        QString source = parser.value(sourceDirectoryOption);
40        QString output = parser.value(outputDirectoryOption);
41
42        if (source.isEmpty() || output.isEmpty()) {
43                qDebug() << "need --source and --output";
44                exit(1);
45        }
46        WindowTitleUpdate *wtu = new WindowTitleUpdate();
47        int ret = parse_file(qPrintable(source));
48        if (ret) {
49                fprintf(stderr, "parse_file returned %d\n", ret);
50                exit(1);
51        }
52
53        // this should have set up the informational preferences - let's grab
54        // the units from there
55
56        prefs.unit_system = git_prefs.unit_system;
57        prefs.units = git_prefs.units;
58
59        // populate the statistics
60        struct dive *d = get_dive(0);
61        struct dive *pd;
62        if (d) {
63                process_all_dives(d, &pd);
64        }
65
66        // now set up the export settings to create the HTML export
67        struct htmlExportSetting hes;
68        hes.themeFile = "sand.css";
69        hes.exportPhotos = true;
70        hes.selectedOnly = false;
71        hes.listOnly = false;
72        hes.yearlyStatistics = true;
73        hes.subsurfaceNumbers = true;
74        exportHtmlInitLogic(output, hes);
75        exit(0);
76}
Note: See TracBrowser for help on using the repository browser.