[Gpredict-svn] SF.net SVN: gpredict:[938] trunk
Real time satellite tracking and orbit prediction
Status: Beta
Brought to you by:
csete
|
From: <aa...@us...> - 2011-10-26 18:30:22
|
Revision: 938
http://gpredict.svn.sourceforge.net/gpredict/?rev=938&view=rev
Author: aa1vs
Date: 2011-10-26 18:30:16 +0000 (Wed, 26 Oct 2011)
Log Message:
-----------
Restructure satellite name test and add "OBJECT A" name type to list for replacement.
Modified Paths:
--------------
trunk/ChangeLog
trunk/src/tle-update.c
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2011-10-26 18:25:30 UTC (rev 937)
+++ trunk/ChangeLog 2011-10-26 18:30:16 UTC (rev 938)
@@ -3,7 +3,10 @@
* src/tle-update.c
Read .sat files only when there is data to compare.
+ * src/tle-update.c
+ Restructure satellite name test and add "OBJECT A" name type to list for replacement.
+
2011-10-23 Charles Suprin <hamaa1vs at gmail.com>
* src/gtk-sat-map-groundtrack.c
Modified: trunk/src/tle-update.c
===================================================================
--- trunk/src/tle-update.c 2011-10-26 18:25:30 UTC (rev 937)
+++ trunk/src/tle-update.c 2011-10-26 18:30:16 UTC (rev 938)
@@ -67,9 +67,9 @@
guint *sat_tot);
static guint add_new_sats (GHashTable *data);
+static gboolean is_computer_generated_name (gchar *satname);
-
/** \bief Free a new_tle_t structure. */
static void free_new_tle (gpointer data)
{
@@ -1056,8 +1056,8 @@
}
/* merge based on name */
- if ((g_regex_match_simple ("\\d{4,}-\\d{3,}",ntle->satname,0,0)) &&
- (!g_regex_match_simple ("\\d{4,}-\\d{3,}",tle_str[0],0,0))) {
+ if (is_computer_generated_name (ntle->satname) &&
+ !is_computer_generated_name(tle_str[0])) {
g_free (ntle->satname);
ntle->satname = g_strdup (g_strchomp(tle_str[0]));
}
@@ -1224,9 +1224,9 @@
if (ntle->satname != NULL) {
/* when a satellite first appears in the elements it is sometimes refered to by the
international designator which is awkward after it is given a name */
- if (!g_regex_match_simple ("\\d{4,}-\\d{3,}",ntle->satname,0,0)) {
+ if (!is_computer_generated_name(ntle->satname)) {
- if (g_regex_match_simple ("\\d{4,}-\\d{3,}",satname,0,0)) {
+ if (is_computer_generated_name (satname)) {
sat_log_log (SAT_LOG_LEVEL_MSG,
_("%s: Data for %d updated for name."),
__FUNCTION__, catnr);
@@ -1238,7 +1238,7 @@
/* clobber with name */
/* clobber if nickname and name were same before */
/* clobber if international designator */
- if (g_regex_match_simple ("\\d{4,}-\\d{3,}",satnickname,0,0)) {
+ if ( is_computer_generated_name (satnickname) ) {
sat_log_log (SAT_LOG_LEVEL_MSG,
_("%s: Data for %d updated for nickname."),
__FUNCTION__, catnr);
@@ -1322,3 +1322,23 @@
return _(freq_to_str[freq]);
}
+
+/** \brief Determine if name is generic.
+ * \param satname The satellite name that might be old.
+ *
+ * This function determines if the satellite name is generic. Examples of this are the names YYYY-NNNAAA
+ * international ID names used by Celestrak. Also space-track.org will give items names of OBJECT A as
+ * well until the name is advertised.
+ *
+ */
+static gboolean is_computer_generated_name (gchar *satname) {
+ /* celestrak generic satellite name */
+ if (g_regex_match_simple ("\\d{4,}-\\d{3,}",satname,0,0)){
+ return (TRUE);
+ }
+ /* space-track generic satellite name */
+ if (g_regex_match_simple ("OBJECT",satname,0,0)){
+ return (TRUE);
+ }
+ return (FALSE);
+}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|