[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [marble] /: SatellitesPlugin: update code to match latest catalog format
From:       Rene Kuettner <rene () bitkanal ! net>
Date:       2012-10-01 16:52:30
Message-ID: 20121001165230.2F150A605D () git ! kde ! org
[Download RAW message or body]

Git commit 427e7c22343aaabeafedd5fd66dd3266b0a6d852 by Rene Kuettner.
Committed on 01/10/2012 at 18:02.
Pushed by renek into branch 'master'.

SatellitesPlugin: update code to match latest catalog format

 * Marble satellite catalogs may now contain object specific icons
 * Add forward compatibility to the Marble satellite catalog parser

M  +6    -4    src/plugins/render/satellites/SatellitesModel.cpp
M  +5    -3    tools/gen-sat-catalog/lib/ObjectCatalogue.py

http://commits.kde.org/marble/427e7c22343aaabeafedd5fd66dd3266b0a6d852

diff --git a/src/plugins/render/satellites/SatellitesModel.cpp \
b/src/plugins/render/satellites/SatellitesModel.cpp index 302b98e..a6a6f59 100644
--- a/src/plugins/render/satellites/SatellitesModel.cpp
+++ b/src/plugins/render/satellites/SatellitesModel.cpp
@@ -120,7 +120,9 @@ void SatellitesModel::parseCatalog( const QString &id,
 
         QStringList elms = line.split(", ");
 
-        if( elms.size() != 13 ) {
+        // check for '<' instead of '==' in order to allow fields to be added
+        // to catalogs later without breaking the code
+        if( elms.size() < 14 ) {
             mDebug() << "Skipping line:" << elms << "(" << line << ")";
             continue;
         }
@@ -137,9 +139,9 @@ void SatellitesModel::parseCatalog( const QString &id,
         planSat->setPlanet( cbody );
 
         planSat->setStateVector(
-            elms[6].toFloat() - 2400000.5,
-            elms[7].toFloat(),  elms[8].toFloat(),  elms[9].toFloat(),
-            elms[10].toFloat(), elms[11].toFloat(), elms[12].toFloat() );
+            elms[7].toFloat() - 2400000.5,
+            elms[8].toFloat(),  elms[9].toFloat(),  elms[10].toFloat(),
+            elms[11].toFloat(), elms[12].toFloat(), elms[13].toFloat() );
 
         planSat->stateToKepler();
 
diff --git a/tools/gen-sat-catalog/lib/ObjectCatalogue.py \
b/tools/gen-sat-catalog/lib/ObjectCatalogue.py index b8e5ad3..f122c04 100644
--- a/tools/gen-sat-catalog/lib/ObjectCatalogue.py
+++ b/tools/gen-sat-catalog/lib/ObjectCatalogue.py
@@ -25,7 +25,8 @@ class ObjectCatalogue(object):
         self._close()
 
     def add(self, space_obj, latest_vector):
-        url = self._baseURL + "/" + space_obj.filename_prefix + '.txt'
+        url  = self._baseURL + "/" + space_obj.filename_prefix + '.txt'
+        icon = self._baseURL + "/" + space_obj.filename_prefix + '.png'
         if(space_obj.mission_end is None):
             mission_end = ''
         else:
@@ -40,7 +41,8 @@ class ObjectCatalogue(object):
             space_obj.related_body,
             str(mission_start),
             str(mission_end),
-            url
+            url,
+            icon
             ] + [str(x) for x in latest_vector]) + "\n")
         print(space_obj.name + " added to object catalogue.")
 
@@ -48,7 +50,7 @@ class ObjectCatalogue(object):
         self._file = open(self._filename, 'w+')
         self._file.truncate()
         self._file.write('# name, category, related_body, mission_start, ' +
-            'mission_end, url, <...latest state vector...>\n')
+            'mission_end, url, icon url, <...latest state vector...>\n')
 
     def _close(self):
         self._file.close()


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic