This file is indexed.

/usr/share/pyshared/ase/io/vnl.py is in python-ase 3.6.0.2515-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import numpy as np

from ase.atoms import Atoms


class VNL:
    def __setstate__(self, data):
        self.data = data

def ac(shape, typecode, data, endian):
    x = np.fromstring(data, typecode)
    try:
        x.shape = shape
    except ValueError:
        x = x[::2].copy()
        x.shape = shape
        
    if np.LittleEndian != endian: 
        return x.byteswap() 
    else: 
        return x 

class VNLUnpickler(pickle.Unpickler):
    def find_class(self, module, name):
        if module == 'VNLATKStorage.Core.Sample':
            return VNL
        if name == 'array_constructor':
            return ac
        return pickle.Unpickler.find_class(self, module, name)
    
def read_vnl(filename):
    from cStringIO import StringIO
    vnl = VNLUnpickler(StringIO(ZipFile(filename).read('0_object'))).load()
    conf = vnl.data['__properties__']['Atomic Configuration'].data
    numbers = conf['_dataarray_']
    positions = conf['_positions_'].data['_dataarray_']
    return Atoms(numbers=numbers, positions=positions)