Commit cbf9c1dd0e857e406e833153f371219b1b65eaae

Authored by Jürgen Knödlseder
1 parent a4521c67

Add GFitsTableStringCol.__setitem__ method for GFilename argument.

Showing 1 changed file with 22 additions and 1 deletions
pyext/GFitsTableStringCol.i
1 1 /***************************************************************************
2 2 * GFitsTableStringCol.i - FITS table string column class *
3 3 * ----------------------------------------------------------------------- *
4   - * copyright (C) 2008-2015 by Juergen Knoedlseder *
  4 + * copyright (C) 2008-2016 by Juergen Knoedlseder *
5 5 * ----------------------------------------------------------------------- *
6 6 * *
7 7 * This program is free software: you can redistribute it and/or modify *
... ... @@ -26,6 +26,7 @@
26 26 %{
27 27 /* Put headers and other declarations here that are needed for compilation */
28 28 #include "GFitsTableStringCol.hpp"
  29 +#include "GFilename.hpp"
29 30 %}
30 31  
31 32  
... ... @@ -110,6 +111,26 @@ public:
110 111 }
111 112 }
112 113 }
  114 + void __setitem__(int GFitsTableColInx[], GFilename value) {
  115 + if (GFitsTableColInx[1] < 0 || GFitsTableColInx[1] >= self->length()) {
  116 + throw GException::out_of_range("__setitem__()", "Row index",
  117 + GFitsTableColInx[1], self->length());
  118 + }
  119 + if (GFitsTableColInx[0] == 1) {
  120 + (*self)(GFitsTableColInx[1]) = std::string(value);
  121 + }
  122 + else {
  123 + if (GFitsTableColInx[2] >= 0 && GFitsTableColInx[2] <
  124 + self->elements(GFitsTableColInx[1])) {
  125 + (*self)(GFitsTableColInx[1], GFitsTableColInx[2]) = std::string(value);
  126 + }
  127 + else {
  128 + throw GException::out_of_range("__setitem__()", "Column index",
  129 + GFitsTableColInx[2],
  130 + self->elements(GFitsTableColInx[1]));
  131 + }
  132 + }
  133 + }
113 134 GFitsTableStringCol copy() {
114 135 return (*self);
115 136 }
... ...