docs: def load_pointings(self, filename=None):
          """Load some pointings"""
  
          filename = ( filename is None and tkFileDialog.askopenfilename() or filename)
  
          if filename is None:
              return
  
          f = storage.open_vos_or_local(filename)
          lines = f.readlines()
          f.close()
          points = []
          if lines[0][0:5] == "<?xml":
              # ## assume astrores format
              # ## with <DATA at start of 'data' segment
              for i in range(len(lines)):
                  if lines[i][0:5] == '<DATA':
                      break
              for j in range(i + 5, len(lines)):
                  if lines[j][0:2] == "]]":
                      break
                  vs = lines[j].split('|')
                  points.append(vs)
          elif lines[0][0:5] == 'index':
              # ## Palomar Format
              # ## OK.. ID/NAME/RA /DEC format
              v = lines[0].split()
              if len(v) == 2 :
                  date = v[1]
                  self.date.set(v[1])
                  self.reset()
              for line in lines:
                  if line[0] == '!' or line[0:5] == 'index':
                      # index is a header line for Palomar
                      continue
                  d = line.split()
                  if len(d) < 9:
                      sys.stderr.write("Don't understand pointing format\n%s\n" % line)
                      continue
                  ras = "%s:%s:%s" % (d[2], d[3], d[4])
                  decs = "%s:%s:%s" % (d[5], d[6], d[7])
                  points.append((d[1].strip(), ras, decs))
          elif lines[0][0:5] == "#SSIM":
              # ## Survey Simulator format
              for line in lines[1:]:
                  d = line.split()
                  points.append((d[8], d[2], d[3]))
          else:
              # ## try name/ ra /dec / epoch
              for line in lines:
                  d = line.split()
                  if len(d) == 5:  # brave assumption time!
                      # self.pointing_format = 'Subaru'  # unfortunately this doesn't seem to do anything, & breaks save
                      pointing_name = d[0].split('=')[0]
                      # oh grief these are sexagecimal with no separators. WHY
                      ra = d[1].split('=')[1]
                      dec = d[2].split('=')[1]
                      if len(ra.split('.')[0]) == 5:  # LACK OF SEPARATORS ARGH
                          ra = '0' + ra
                      if len(dec.split('.')[0]) == 5:
                          dec = '0' + dec
                      ra = "{}:{}:{}".format(ra[0:2], ra[2:4], ra[4:])
                      dec = "{}:{}:{}".format(dec[0:2], dec[2:4], dec[4:])
                      points.append((pointing_name, ra, dec))
                  elif len(d) == 4:
                      f = d[1].count(":")
                      if ( f > 0 ):
                          points.append((d[0], d[1], d[2]))
                      else:
                          points.append(('', math.radians(float(d[1])), math.radians(float(d[2]))))
                  elif len(d) == 8:
                      line = "%s %s:%s:%s %s:%s:%s %s" % (d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7] )
                      d = line.split()
                      # this one seems unfinished...no append
                  else:
                      sys.stderr.write("Don't understand pointing format\n%s\n" % ( line))
                      continue
  
          self.plot_points_list(points)
          return