[Scummvm-cvs-logs] scummvm-web master -> 5e9471afc556bc9794c77649a03cb6fac3ca3775

sev- sev at scummvm.org
Wed Mar 2 00:03:58 CET 2016


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm-web' repo located at https://github.com/scummvm/scummvm-web .

Summary:
5e9471afc5 WEB: Overhaul of download urls.


Commit: 5e9471afc556bc9794c77649a03cb6fac3ca3775
    https://github.com/scummvm/scummvm-web/commit/5e9471afc556bc9794c77649a03cb6fac3ca3775
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2016-03-02T00:03:47+01:00

Commit Message:
WEB: Overhaul of download urls.

Now by default we're looking into local FS.
There are 3 potential places for files: frs/scummvm/, frs/scummvm-tools/
and downloads/. They're now governed by 'type' attribute to url.

Changed paths:
    data/downloads.xml
    data/subprojects.xml
    include/Objects/DSection.php
    include/Objects/DSubSection.php
    include/Objects/File.php



diff --git a/data/downloads.xml b/data/downloads.xml
index f70a627..68d84b3 100755
--- a/data/downloads.xml
+++ b/data/downloads.xml
@@ -5,6 +5,7 @@
 			{#downloadsXMLTitle#} <h:span style="color: rgb(170, 170, 170);">{'/\x7brelease\x7d/'|preg_replace:$release:#downloadsXMLVersion#}</h:span>
 		</title>
 		<baseurl>/frs/scummvm/{$release}/</baseurl>
+		<baseturl>/frs/scummvm-tools/{$release_tools}/</baseturl>
 		<subsection>
 			<title>{'/\x7brelease\x7d/'|preg_replace:$release:#downloadsBinaries#}</title>
 			<anchor>stable</anchor>
@@ -18,14 +19,12 @@
 					<category_icon>catpl-windows.png</category_icon>
 					<url>scummvm-{$release}-win32.exe</url>
 					<name><h:b>Windows Installer</h:b></name>
-					<extra_info>(7.2M Win32 .exe)</extra_info>
 					<user_agent>Windows</user_agent>
 				</file>
 				<file>
 					<category_icon>catpl-windows.png</category_icon>
 					<url>scummvm-{$release}-win32.zip</url>
 					<name>Windows zipfile</name>
-					<extra_info>(10.4M .zip)</extra_info>
 				</file>
 <!--
 				<file>
@@ -417,117 +416,100 @@
 			<entries>
 				<file>
 					<category_icon>catpl-windows.png</category_icon>
-					<url>scummvm-tools-{$release_tools}-win32.exe</url>
+					<url type="tools">scummvm-tools-{$release_tools}-win32.exe</url>
 					<name>Tools - Windows Installer</name>
-					<extra_info>(2.7M Win32 .exe)</extra_info>
 				</file>
 				<file>
 					<category_icon>catpl-windows.png</category_icon>
-					<url>scummvm-tools-{$release_tools}-win32.zip</url>
+					<url type="tools">scummvm-tools-{$release_tools}-win32.zip</url>
 					<name>Tools - Windows zipfile</name>
-					<extra_info>(4.6M Win32 .zip)</extra_info>
 				</file>
 <!--
 				<file>
 					<category_icon>catpl-fedora.png</category_icon>
-					<url>scummvm-tools-{$release_tools}-1_F11.i586.rpm</url>
+					<url type="tools">scummvm-tools-{$release_tools}-1_F11.i586.rpm</url>
 					<name>Tools - Fedora 11 and 12 i586 RPM</name>
-					<extra_info>(731k .rpm)</extra_info>
 				</file>
 				<file>
 					<category_icon>catpl-fedora.png</category_icon>
-					<url>scummvm-tools-{$release_tools}-1_F11.x86_64.rpm</url>
+					<url type="tools">scummvm-tools-{$release_tools}-1_F11.x86_64.rpm</url>
 					<name>Tools - Fedora 11 and 12 x86 64bit RPM</name>
-					<extra_info>(782k .rpm)</extra_info>
 				</file>
 
 				<file>
 					<category_icon>catpl-macos-universal.png</category_icon>
-					<url>scummvm-tools-{$release_tools}-macosx.tar.bz2</url>
+					<url type="tools">scummvm-tools-{$release_tools}-macosx.tar.bz2</url>
 					<name>Tools - Mac OS X Universal binaries (10.3.9 and up)</name>
-					<extra_info>(4.0M .tar.bz2)</extra_info>
 				</file>
 
 				<file>
 					<category_icon>catpl-solaris.png</category_icon>
-					<url>scummvm-tools-{$release_tools}-solaris8-sparc.pkg.bz2</url>
+					<url type="tools">scummvm-tools-{$release_tools}-solaris8-sparc.pkg.bz2</url>
 					<name>Tools - Solaris 8 (Sparc)</name>
-					<extra_info>(602k .pkg.bz2)</extra_info>
 				</file>
 
 				<file>
 					<category_icon>catpl-solaris.png</category_icon>
-					<url>scummvm-tools-{$release_tools}-solaris10-x86.pkg.bz2</url>
+					<url type="tools">scummvm-tools-{$release_tools}-solaris10-x86.pkg.bz2</url>
 					<name>Tools - Solaris 10 (both IA32 and AMD64)</name>
-					<extra_info>(5.3M .pkg.bz2)</extra_info>
 				</file>
 
 				<file>
 					<category_icon>catpl-irix.png</category_icon>
-					<url>scummvm-tools-{$release_tools}-irix-mips3.tar.bz2</url>
+					<url type="tools">scummvm-tools-{$release_tools}-irix-mips3.tar.bz2</url>
 					<name>Tools - IRIX (6.5.*, n32, mips3) package</name>
-					<extra_info>(2.0M .tar.bz2)</extra_info>
 				</file>
 
 				<file>
 					<category_icon>catpl-irix.png</category_icon>
-					<url>scummvm-tools-{$release_tools}-irix-mips4.tar.bz2</url>
+					<url type="tools">scummvm-tools-{$release_tools}-irix-mips4.tar.bz2</url>
 					<name>Tools - IRIX (6.5.*, n32, mips4) package</name>
-					<extra_info>(2.3M .tar.bz2)</extra_info>
 				</file>
 
 				<file>
 					<category_icon>catpl-beos.png</category_icon>
-					<url>scummvm-tools-{$release_tools}-beos.tgz</url>
+					<url type="tools">scummvm-tools-{$release_tools}-beos.tgz</url>
 					<name>Tools - BeOS</name>
-					<extra_info>(1.4M .tgz)</extra_info>
 				</file>
 -->
 				<file>
 					<category_icon>catpl-haiku.png</category_icon>
-					<url>scummvm_tools-{$release_tools}-1_gcc2.hpkg</url>
+					<url type="tools">scummvm_tools-{$release_tools}-1_gcc2.hpkg</url>
 					<name>Tools - Haiku package</name>
-					<extra_info>(2.5M .hpkg)</extra_info>
 				</file>
 
 				<file>
 					<category_icon>catpl-amiga.png</category_icon>
-					<url>scummvm-tools-{$release_tools}-amigaos4.lha</url>
+					<url type="tools">scummvm-tools-{$release_tools}-amigaos4.lha</url>
 					<name>Tools - AmigaOS 4</name>
-					<extra_info>(6.3M .lha)</extra_info>
 				</file>
 
 				<file>
 					<category_icon>catpl-freemint.png</category_icon>
-					<url>scummvm-tools-{$release_tools}-atari.tar.bz2</url>
+					<url type="tools">scummvm-tools-{$release_tools}-atari.tar.bz2</url>
 					<name>Tools - Atari/FreeMiNT package (68020 and up)</name>
-					<extra_info>(1.6M .tar.bz2)</extra_info>
 				</file>
 
 				<file>
 					<category_icon>catpl-cpp.png</category_icon>
-					<url>scummvm-tools-{$release_tools}.tar.bz2</url>
+					<url type="tools">scummvm-tools-{$release_tools}.tar.bz2</url>
 					<name>Tools - Source .tar.bz2</name>
-					<extra_info>(954k .tar.bz2)</extra_info>
 				</file>
 				<file>
 					<category_icon>catpl-cpp.png</category_icon>
-					<url>scummvm-tools-{$release_tools}.tar.gz</url>
+					<url type="tools">scummvm-tools-{$release_tools}.tar.gz</url>
 					<name>Tools - Source .tar.gz</name>
-					<extra_info>(1.0M .tar.gz)</extra_info>
 				</file>
 				<file>
 					<category_icon>catpl-cpp.png</category_icon>
-					<url>scummvm-tools-{$release_tools}.zip</url>
+					<url type="tools">scummvm-tools-{$release_tools}.zip</url>
 					<name>Tools - Source .zip</name>
-					<extra_info>(1.3M .zip)</extra_info>
 				</file>
 <!--
 				<file>
 					<category_icon>catpl-cpp.png</category_icon>
-					<url>scummvm-tools-{$release_tools}-1.src.rpm</url>
+					<url type="tools">scummvm-tools-{$release_tools}-1.src.rpm</url>
 					<name>Tools - Source RPM</name>
-					<extra_info>(1.3M .rpm)</extra_info>
 				</file>
 -->
 			</entries>
@@ -763,14 +745,14 @@
 			<entries>
 				<file>
 					<category_icon>catpl-windows.png</category_icon>
-					<url local_file="true">scummvm-win32.exe</url>
+					<url extra_info="true" type="downloads">scummvm-win32.exe</url>
 					<name>Win32 ScummVM Daily Snapshot</name>
 					<type>daily</type>
 					<extra_info>Provided by ScummVM Team member Travis 'Kirben' Howell, updated several times daily</extra_info>
 				</file>
 				<file>
 					<category_icon>catpl-windows.png</category_icon>
-					<url local_file="true">scummvm-tools-win32.exe</url>
+					<url extra_info="true" type="downloads">scummvm-tools-win32.exe</url>
 					<name>Win32 ScummVM Tools Daily Snapshot</name>
 					<type>daily</type>
 					<extra_info>Provided by ScummVM Team member Travis 'Kirben' Howell, updated several times daily</extra_info>
@@ -778,28 +760,28 @@
 <!--
 				<file>
 					<category_icon>catpl-debian.png</category_icon>
-					<url local_file="true">scummvm_debian_i386.deb</url>
+					<url extra_info="true" type="downloads">scummvm_debian_i386.deb</url>
 					<name>Debian i386 ScummVM Daily Snapshot</name>
 					<type>daily</type>
 					<extra_info>Provided by ScummVM Team member Pawel 'aquadran' Kolodziejski</extra_info>
 				</file>
 				<file>
 					<category_icon>catpl-debian.png</category_icon>
-					<url local_file="true">scummvm_debian_amd64.deb</url>
+					<url extra_info="true" type="downloads">scummvm_debian_amd64.deb</url>
 					<name>Debian x86_64 ScummVM Daily Snapshot</name>
 					<type>daily</type>
 					<extra_info>Provided by ScummVM Team member Pawel 'aquadran' Kolodziejski</extra_info>
 				</file>
 				<file>
 					<category_icon>catpl-ubuntu.png</category_icon>
-					<url local_file="true">scummvm_ubuntu_i386.deb</url>
+					<url extra_info="true" type="downloads">scummvm_ubuntu_i386.deb</url>
 					<name>Ubuntu i386 ScummVM Daily Snapshot</name>
 					<type>daily</type>
 					<extra_info>Provided by ScummVM Team member Pawel 'aquadran' Kolodziejski</extra_info>
 				</file>
 				<file>
 					<category_icon>catpl-ubuntu.png</category_icon>
-					<url local_file="true">scummvm_ubuntu_amd64.deb</url>
+					<url extra_info="true" type="downloads">scummvm_ubuntu_amd64.deb</url>
 					<name>Ubuntu x86_64 ScummVM Daily Snapshot</name>
 					<type>daily</type>
 					<extra_info>Provided by ScummVM Team member Pawel 'aquadran' Kolodziejski</extra_info>
diff --git a/data/subprojects.xml b/data/subprojects.xml
index 59ad9b3..48ec684 100644
--- a/data/subprojects.xml
+++ b/data/subprojects.xml
@@ -16,7 +16,7 @@
 		<entries>
 			<file>
 				<category_icon>catpl-windows.png</category_icon>
-				<url local_file="true">scummex-win32.exe</url>
+				<url extra_info="true" type="downloads">scummex-win32.exe</url>
 				<name>Windows</name>
 				<type>daily</type>
 			</file>
@@ -39,37 +39,37 @@
 		<entries>
 			<file>
 				<category_icon>catpl-windows.png</category_icon>
-				<url local_file="true">residualwin32.exe</url>
+				<url extra_info="true" type="downloads">residualwin32.exe</url>
 				<name>Windows</name>
 				<type>svn</type>
 			</file>
 			<file>
 				<category_icon>catpl-macos.png</category_icon>
-				<url local_file="true">Residual-MacOSX-Intel.dmg</url>
+				<url extra_info="true" type="downloads">Residual-MacOSX-Intel.dmg</url>
 				<name>Mac OS X Intel</name>
 				<type>svn</type>
 			</file>
 			<file>
 				<category_icon>catpl-debian.png</category_icon>
-				<url local_file="true">residual_debian_i386.deb</url>
+				<url extra_info="true" type="downloads">residual_debian_i386.deb</url>
 				<name>Debian i386</name>
 				<type>svn</type>
 			</file>
 			<file>
 				<category_icon>catpl-debian.png</category_icon>
-				<url local_file="true">residual_debian_amd64.deb</url>
+				<url extra_info="true" type="downloads">residual_debian_amd64.deb</url>
 				<name>Debian x86_64</name>
 				<type>svn</type>
 			</file>
 			<file>
 				<category_icon>catpl-ubuntu.png</category_icon>
-				<url local_file="true">residual_ubuntu_i386.deb</url>
+				<url extra_info="true" type="downloads">residual_ubuntu_i386.deb</url>
 				<name>Ubuntu i386</name>
 				<type>svn</type>
 			</file>
 			<file>
 				<category_icon>catpl-ubuntu.png</category_icon>
-				<url local_file="true">residual_ubuntu_amd64.deb</url>
+				<url extra_info="true" type="downloads">residual_ubuntu_amd64.deb</url>
 				<name>Ubuntu x86_64</name>
 				<type>svn</type>
 			</file>
diff --git a/include/Objects/DSection.php b/include/Objects/DSection.php
index a3cd5bd..9317e2a 100644
--- a/include/Objects/DSection.php
+++ b/include/Objects/DSection.php
@@ -15,11 +15,12 @@ class DSection extends BasicObject{
 		$this->_title = $data['title'];
 		$this->_anchor = $data['anchor'];
 		$this->_baseurl = $data['baseurl'];
+		$this->_baseturl = $data['baseturl'];
 		$this->_subsections = array();
 
 		parent::toArray($data['subsection']);
 		foreach ($data['subsection'] as $key => $value) {
-			$this->_subsections[] = new DSubSection($value, $this->_baseurl);
+			$this->_subsections[] = new DSubSection($value, $this->_baseurl, $this->_baseturl);
 		}
 	}
 
diff --git a/include/Objects/DSubSection.php b/include/Objects/DSubSection.php
index 678e680..654fc43 100644
--- a/include/Objects/DSubSection.php
+++ b/include/Objects/DSubSection.php
@@ -14,7 +14,7 @@ class DSubSection extends BasicObject {
 	private $_links;
 
 	/* DSubSection constructor. */
-	public function __construct($data, $baseurl) {
+	public function __construct($data, $baseurl, $baseturl) {
 		$this->_title = $data['title'];
 		$this->_anchor = $data['anchor'];
 		$this->_notes = $data['notes'];
@@ -27,7 +27,7 @@ class DSubSection extends BasicObject {
 			parent::toArray($item);
 			if ($type == 'file') {
 				foreach ($item as $file) {
-					$this->_items[] = new File($file, $baseurl);
+					$this->_items[] = new File($file, $baseurl, $baseturl);
 				}
 			} elseif ($type == 'link') {
 				foreach ($item as $link) {
@@ -56,7 +56,7 @@ class DSubSection extends BasicObject {
 	public function getFooter() {
 		return $this->_footer;
 	}
-	
+
 	/* Get the list of files. */
 	public function getFiles() {
 		return $this->_files;
@@ -66,7 +66,7 @@ class DSubSection extends BasicObject {
 	public function getLinks() {
 		return $this->_links;
 	}
-	
+
 	/* Get the list of items. */
 	public function getItems() {
 		return $this->_items;
diff --git a/include/Objects/File.php b/include/Objects/File.php
index b054f0f..2449e1a 100644
--- a/include/Objects/File.php
+++ b/include/Objects/File.php
@@ -10,43 +10,53 @@ class File extends BasicObject {
 	private $_type;
 	private $_extra_info;
 	private $_user_agent;
-	
-	public function __construct($data, $baseurl=null) {
+
+	public function __construct($data, $baseurl=null, $baseturl=null) {
 		$this->_category_icon = $data['category_icon'];
 		$this->_name = $data['name'];
 		$this->_extra_info = $data['extra_info'];
 		$this->_type = strtolower($data['type']);
 		$this->_user_agent = isset($data["user_agent"]) ? $data["user_agent"] : "";
-		
+
+		$fname = "";
+
 		/* If it's not an array, we didn't get any attributes. */
 		if (!is_array($data['url'])) {
-			$this->_url = $data['url'];
-			/* Prefix with baseurl if needed. */
-			if (!preg_match('/^((https?)|(ftp)):\/\//', $this->_url)) {
-				$this->_url = $baseurl . $this->_url;
-			}
-		/* We got attributes, check them. */
+			$url = $data['url'];
+			$attributes = array();
 		} else {
-			$attributes = $data['url']['@attributes'];
 			$url = $data['url'][0];
-			$this->_url = $url;
-			/**
-			 * Get the filesize/last modified information and put it in
-			 * $this->_extra_info.
-			 */
-			if ($attributes['local_file'] == 'true') {
-				if (!is_file($url) || is_readable($url)) {
-					$url = DIR_DOWNLOADS . "/{$url}";
-					$this->_url = $url;
-				}
-				if (is_file($url) && is_readable($url)) {
-					$this->_extra_info = array();
-					$this->_extra_info['size'] = round((@filesize($url) / 1024));
-					$this->_extra_info['ext'] = substr($url, (strrpos($url, '.')+1));
-					$this->_extra_info['date'] = date('F j, Y, g:i a', @filemtime($url));
-					if (!is_null($data['extra_info'])) {
-						$this->_extra_info['info'] = $data['extra_info'];
-					}
+			$attributes = $data['url']['@attributes'];
+		}
+
+		if (!preg_match('/^((https?)|(ftp)):\/\//', $url)) {
+			if ($attributes['type'] == 'downloads') {
+				$url = DIR_DOWNLOADS . "/{$url}";
+			} else if ($attributes['type'] == 'tools') {
+				$url = $baseturl . $url;
+			} else {
+				$url = $baseurl . $url;
+			}
+
+			$fname = "." . $url;
+
+			if (is_file($fname) && is_readable($fname)) {
+				$this->_extra_info = array();
+				$this->_extra_info['size'] = round((@filesize($fname) / 1024));
+				$this->_extra_info['ext'] = substr($url, (strrpos($url, '.')+1));
+			}
+		}
+		$this->_url = $url;
+
+		/**
+		 * Get the filesize/last modified information and put it in
+		 * $this->_extra_info.
+		 */
+		if ($attributes['extra_info'] == 'true') {
+			if (is_file($fname) && is_readable($fname)) {
+				$this->_extra_info['date'] = date('F j, Y, g:i a', @filemtime($fname));
+				if (!is_null($data['extra_info'])) {
+					$this->_extra_info['info'] = $data['extra_info'];
 				}
 			}
 		}
@@ -71,12 +81,12 @@ class File extends BasicObject {
 	public function getType() {
 		return $this->_type;
 	}
-	
+
 	/* Get the extra information. */
 	public function getExtraInfo() {
 		return $this->_extra_info;
 	}
-	
+
 	/* Get the user-agent. */
 	public function getUserAgent() {
 		return $this->_user_agent;






More information about the Scummvm-git-logs mailing list