1 # Theme packing utilities
3 function(theme::packager::echo)
8 function(theme::packager::packOne)
13 theme::packager::echo "Attempting to pack theme at" %szInputPath
15 %inf = $theme.info(%szInputPath);
17 if(%inf{"name"} == "")
19 theme::packager::echo "ERROR: Invalid theme in %szInputPath (empty name)"
23 if(%inf{"version"} == "")
25 theme::packager::echo "ERROR: Invalid theme in %szInputPath (empty version)"
29 theme::packager::echo "Theme name is "%inf{"name"}
30 theme::packager::echo "Theme version is "%inf{"version"}
32 %szPackageName = %inf{"name"};
33 %szPackageVersion = %inf{"version"};
34 %szPackageDescription = %inf{"description"};
35 %szPackageAuthor = %inf{"author"};
37 if($file.exists(%szInputPath/screenshot_medium.png))
38 %szPackageImage = %szInputPath/screenshot_medium.png
39 else if($file.exists(%szInputPath/screenshot.png))
40 %szPackageImage = %szInputPath/screenshot.png
44 %szOutPath = %szOutputDir/%szPackageName-%szPackageVersion.kvt
50 %szPackageDescription \
55 theme::packager::echo "Package is ready at" %szOutPath "("$file.size(%szOutPath) "bytes)"
59 function(theme::packager::releaseTheme)
61 %szInputPackagePath = $0
64 %inf = $package.info(%szInputPackagePath)
66 theme::packager::echo ""
68 theme::packager::echo "Attempting to release the theme package at %szInputPackagePath into %szOutputPath"
70 %subdir = $date(YmdHMS);
72 %dir = %szOutputPath/%subdir
76 theme::packager::echo "ERROR: Could not read package $1"
77 theme::packager::echo "ERROR: "%inf{error}
83 theme::packager::echo "Creating directory %dir"
85 %file = $file.extractfilename(%szInputPackagePath);
87 file.copy %szInputPackagePath %dir/%file
89 theme::packager::echo "Theme entry for kvirc-www/services/themes.php"
90 theme::packager::echo ""
92 theme::packager::echo " array("
93 theme::packager::echo " 'package' => '"%inf{info}{name}"',"
94 theme::packager::echo " 'size' => '"%inf{info}{size}"',"
95 theme::packager::echo " 'name' => '"%inf{metadata}{Name}"',"
96 theme::packager::echo " 'author' => '"%inf{metadata}{Author}"',"
97 theme::packager::echo " 'date' => '"%inf{metadata}{Date}"',"
98 theme::packager::echo " 'description' => '"%inf{metadata}{Description}"',"
99 theme::packager::echo " 'file' => '"%subdir/%file"',"
100 theme::packager::echo " 'image' => '"%subdir/image.png"',"
101 theme::packager::echo " 'themes' => array("
102 theme::packager::echo " )"
103 theme::packager::echo " )"
105 theme::packager::echo ""
109 * Application: KVIrc 4.3.2.20151002
110 * Author: Szymon Tomasz Stefanek
111 * Date: 2015-10-04T02:02:23
112 * Description: The set of icons and colors used in early 4.x releases.
113 * Image: <binary data, 51872 bytes>
115 * PackageType: ThemePack
116 * Theme0Application: KVIrc 4.3.2.20141230
117 * Theme0Author: Szymon Tomasz Stefanek
118 * Theme0Date: Wed Aug 26 01:47:39 2015
119 * Theme0Description: The set of icons and colors used in early 4.x releases.
120 * Theme0Name: Classic
121 * Theme0Screenshot: <binary data, 52663 bytes>
122 * Theme0Subdirectory: Classic-1.0.0
123 * Theme0ThemeEngineVersion: 1.0.0
124 * Theme0Version: 1.0.0
126 * ThemePackVersion: 1.0.0