<gh_stars>0
#!/usr/bin/env python
# Copyright 2016 The Fuchsia Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#    http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

''' Contains the |Entry| data type and functions for reading and writing it.
An |Entry| represents an element of our synthetic randomly-generated
input data.
'''

import collections
import csv

import file_util

# This defines a new type |Entry| as a tuple with seven named fields.
Entry = collections.namedtuple('Entry',['user_id', 'name', 'city', 'hour',
  'rating', 'help_query', 'url'])

def writeEntries(entries, file_name):
  """ Writes a csv file containing the given entries.

  Args:
    entries {list of Entry}: A list of Entries to be written.
    file_name {string}: The csv file to generate.
  """
  with file_util.openForWriting(file_name) as f:
    writer = csv.writer(f)
    for entry in entries:
      writer.writerow([entry.user_id, entry.name, entry.city, entry.hour,
                       entry.rating, entry.help_query, entry.url])


def readEntries(file_name):
  """ Reads a csv file and returns a list of Entries

  Args:
    file_name {string}: The csv file to read.

  Returns: A list of Entries.
  """
  with file_util.openForReading(file_name) as csvfile:
    reader = csv.reader(csvfile)
    return [Entry(int(row[0]), row[1], row[2], int(row[3]), int(row[4]),
                  row[5], row[6])
        for row in reader]

#!/usr/bin/env python
# Copyright 2016 The Fuchsia Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#    http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

''' Contains the |Entry| data type and functions for reading and writing it.
An |Entry| represents an element of our synthetic randomly-generated
input data.
'''

import collections
import csv

import file_util

# This defines a new type |Entry| as a tuple with seven named fields.
Entry = collections.namedtuple('Entry',['user_id', 'name', 'city', 'hour',
  'rating', 'help_query', 'url'])

def writeEntries(entries, file_name):
  """ Writes a csv file containing the given entries.

  Args:
    entries {list of Entry}: A list of Entries to be written.
    file_name {string}: The csv file to generate.
  """
  with file_util.openForWriting(file_name) as f:
    writer = csv.writer(f)
    for entry in entries:
      writer.writerow([entry.user_id, entry.name, entry.city, entry.hour,
                       entry.rating, entry.help_query, entry.url])


def readEntries(file_name):
  """ Reads a csv file and returns a list of Entries

  Args:
    file_name {string}: The csv file to read.

  Returns: A list of Entries.
  """
  with file_util.openForReading(file_name) as csvfile:
    reader = csv.reader(csvfile)
    return [Entry(int(row[0]), row[1], row[2], int(row[3]), int(row[4]),
                  row[5], row[6])
        for row in reader]
#!/usr/bin/env python # Copyright 2016 The Fuchsia Authors # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # #    http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. Contains the |Entry| data type and functions for reading and writing it. An |Entry| represents an element of our synthetic randomly-generated input data. # This defines a new type |Entry| as a tuple with seven named fields. Writes a csv file containing the given entries.    Args:     entries {list of Entry}: A list of Entries to be written.     file_name {string}: The csv file to generate. Reads a csv file and returns a list of Entries    Args:     file_name {string}: The csv file to read.    Returns: A list of Entries.