Commit c3bfe23e2fab05e743caac36c7957bfc7c7f8ce4
1 parent
7c97aed0
Integrate code (default extno and extver handling in GFilename).
Showing
4 changed files
with
31 additions
and
20 deletions
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& 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& 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 | } | ... | ... |