Commit c3bfe23e2fab05e743caac36c7957bfc7c7f8ce4

Authored by Jürgen Knödlseder
1 parent 7c97aed0

Integrate code (default extno and extver handling in GFilename).

include/GFilename.hpp
... ... @@ -61,8 +61,8 @@ public:
61 61 int length(void) const;
62 62 const std::string& filename(void) const;
63 63 std::string extname(const std::string& defaultname = "") const;
64   - int extno(const int& defaultextno = 1) const;
65   - int extver(const int& defaultextver = 1) const;
  64 + int extno(const int& defaultno = -1) const;
  65 + int extver(const int& defaultver = 0) const;
66 66 bool has_extname(void) const;
67 67 bool has_extno(void) const;
68 68 bool has_extver(void) const;
... ... @@ -77,7 +77,7 @@ protected:
77 77  
78 78 // Protected members
79 79 std::string m_filename; //!< Filename (with stripped extension info)
80   - std::string m_extname; //!< Extension name
  80 + std::string m_extname; //!< Extension name ("": not set)
81 81 int m_extno; //!< Extension number (-1: not set)
82 82 int m_extver; //!< Extension version (0: not set)
83 83 };
... ...
pyext/GFilename.i
... ... @@ -53,8 +53,8 @@ public:
53 53 int length(void) const;
54 54 const std::string& filename(void) const;
55 55 std::string extname(const std::string& defaultname = "") const;
56   - int extno(const int& defaultextno = 1) const;
57   - int extver(const int& defaultextver = 1) const;
  56 + int extno(const int& defaultno = -1) const;
  57 + int extver(const int& defaultver = 0) const;
58 58 bool has_extname(void) const;
59 59 bool has_extno(void) const;
60 60 bool has_extver(void) const;
... ...
src/support/GFilename.cpp
... ... @@ -227,21 +227,21 @@ std::string GFilename::extname(const std::string&amp; defaultname) const
227 227 /***********************************************************************//**
228 228 * @brief Return extension number
229 229 *
230   - * @param[in] defaultextno Default extension number (default: 1).
  230 + * @param[in] defaultno Default extension number (default: -11).
231 231 * @return Integer containing extension number.
232 232 *
233 233 * Returns the extension number. If no extension number is given the number
234   - * provided by the @p defaultextno argument will be used. By default, the
235   - * @p defaultextno parameter is set to 1.
  234 + * provided by the @p defaultno argument will be used. By default, the
  235 + * @p defaultno parameter is set to -1.
236 236 ***************************************************************************/
237   -int GFilename::extno(const int& defaultextno) const
  237 +int GFilename::extno(const int& defaultno) const
238 238 {
239 239 // Set the extension number
240 240 int extno = m_extno;
241 241  
242 242 // If no extension number is set, the use the default extension number
243 243 if (!has_extno()) {
244   - extno = defaultextno;
  244 + extno = defaultno;
245 245 }
246 246  
247 247 // Return extension number
... ... @@ -252,29 +252,28 @@ int GFilename::extno(const int&amp; defaultextno) const
252 252 /***********************************************************************//**
253 253 * @brief Return extension version number
254 254 *
255   - * @param[in] defaultextver Default extension version number (default: 1).
  255 + * @param[in] defaultver Default extension version number (default: 0).
256 256 * @return Integer containing extension version number.
257 257 *
258   - * Returns the extension version number. If no extension version number is given the number
259   - * provided by the @p defaultextver argument will be used. By default, the
260   - * @p defaultextver parameter is set to 1.
  258 + * Returns the extension version number. If no extension version number is
  259 + * given the number provided by the @p defaultver argument will be used. By
  260 + * default, the @p defaultextver parameter is set to 0.
261 261 ***************************************************************************/
262   -int GFilename::extver(const int& defaultextver) const
  262 +int GFilename::extver(const int& defaultver) const
263 263 {
264   - // Set the extension version number
  264 + // Set the extension version
265 265 int extver = m_extver;
266 266  
267   - // If no extension number is set, the use the default extension version number
  267 + // If no extension version is set, the use the default extension version
268 268 if (!has_extver()) {
269   - extver = defaultextver;
  269 + extver = defaultver;
270 270 }
271 271  
272   - // Return extension number
  272 + // Return extension version
273 273 return (extver);
274 274 }
275 275  
276 276  
277   -
278 277 /***********************************************************************//**
279 278 * @brief Print file name information
280 279 *
... ...
test/test_GSupport.cpp
... ... @@ -768,6 +768,18 @@ void TestGSupport::test_filename(void)
768 768 "Expected \"LUCKY\" extension name, "
769 769 "found \""+filename.extname()+"\"");
770 770  
  771 + // Test default extension number
  772 + filename = "myfile.fits";
  773 + test_value(filename.extno(1), 1);
  774 + filename = "myfile.fits[3]";
  775 + test_value(filename.extno(1), 3);
  776 +
  777 + // Test default extension version
  778 + filename = "myfile.fits";
  779 + test_value(filename.extver(1), 1);
  780 + filename = "myfile.fits[3,3]";
  781 + test_value(filename.extver(1), 3);
  782 +
771 783 // Return
772 784 return;
773 785 }
... ...