mirror of
https://github.com/ansible/awx.git
synced 2026-01-15 20:00:43 -03:30
fix the large file parsing in project sync
This commit is contained in:
parent
646c9cc708
commit
60d6832971
@ -6,7 +6,6 @@ import codecs
|
||||
import re
|
||||
import os
|
||||
import logging
|
||||
from itertools import islice
|
||||
from configparser import ConfigParser
|
||||
|
||||
# Django
|
||||
@ -82,14 +81,20 @@ def could_be_inventory(project_path, dir_path, filename):
|
||||
|
||||
# Filter files that do not use a character set consistent with
|
||||
# Ansible inventory mainly
|
||||
matched = False
|
||||
try:
|
||||
# only read through first 10 lines for performance
|
||||
with codecs.open(inventory_path, 'r', encoding='utf-8', errors='ignore') as inv_file:
|
||||
for line in islice(inv_file, 10):
|
||||
if not valid_inventory_re.match(line):
|
||||
return None
|
||||
with open(inventory_path, encoding='utf-8', errors='ignore') as inv_file:
|
||||
for i, line in enumerate(inv_file):
|
||||
if i > 10:
|
||||
break
|
||||
elif valid_inventory_re.match(line):
|
||||
matched = True
|
||||
break
|
||||
except IOError:
|
||||
return None
|
||||
if not matched:
|
||||
return None
|
||||
return inventory_rel_path
|
||||
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user