<commit_before># Copyright 2015-2017, Institute for Systems Biology.
# 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.

import csv
from isb_cgc_user_data.utils.error_handling import UduException


#
# Do column checking before pandas gets a chance, since it appends _x to
# duplicate column headings:
#

def reject_dup_col_pre_dataframe(filepath_or_buffer, logger, name):
    first = None
    with open(filepath_or_buffer, 'rb') as tsvin:
        tsvin = csv.reader(tsvin, delimiter='\t')
        first = next(tsvin)
    if not first:
        if logger:
            logger.log_text('uduprocessor: file empty', severity='INFO')
        user_message = "File was empty "
        raise UduException(user_message)

    barcode_counts = {}

    for i in first:
        if not i.strip():
            if logger:<commit_msg>Fixed incorrect buffer read semantics<commit_after># Copyright 2015-2017, Institute for Systems Biology.
# 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.

import csv
from isb_cgc_user_data.utils.error_handling import UduException


#
# Do column checking before pandas gets a chance, since it appends _x to
# duplicate column headings:
#

def reject_dup_col_pre_dataframe(buffer, logger, name):

    tsvin = csv.reader(buffer, delimiter='\t')
    first = next(tsvin)
    buffer.seek(0)

    if not first:
        if logger:
            logger.log_text('uduprocessor: file empty', severity='INFO')
        user_message = "File was empty "
        raise UduException(user_message)

    barcode_counts = {}

    for i in first:
        if not i.strip():
            if logger:
{'fraction_non_alphanumeric': 0.07629427792915532, 'fraction_numerical': 0.00973141300116777, 'mean_word_length': 3.564831261101243, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2227923', 'n_tokens_mistral': 746, 'n_tokens_neox': 704, 'n_words': 293}