Exemple #1
0
def _verifyFileExists(origin, filename):
	if origin == FileDestinations.SDCARD:
		availableFiles = printer.getSdFiles()
	else:
		availableFiles = gcodeManager.getAllFilenames()

	return filename in availableFiles
Exemple #2
0
def _getFileList(origin):
    if origin == FileDestinations.SDCARD:
        sdFileList = printer.getSdFiles()

        files = []
        if sdFileList is not None:
            for sdFile in sdFileList:
                files.append({
                    "name": sdFile,
                    "origin": FileDestinations.SDCARD,
                    "refs": {
                        "resource":
                        url_for(".readGcodeFile",
                                target=FileDestinations.SDCARD,
                                filename=sdFile,
                                _external=True)
                    }
                })
    else:
        files = gcodeManager.getAllFileData()
        for file in files:
            file.update({
                "refs": {
                    "resource":
                    url_for(".readGcodeFile",
                            target=FileDestinations.LOCAL,
                            filename=file["name"],
                            _external=True),
                    "download":
                    url_for("index", _external=True) + "downloads/files/" +
                    FileDestinations.LOCAL + "/" + file["name"]
                }
            })
    return files
Exemple #3
0
def _verifyFileExists(origin, filename):
    if origin == FileDestinations.SDCARD:
        availableFiles = printer.getSdFiles()
    else:
        availableFiles = gcodeManager.getAllFilenames()

    return filename in availableFiles
Exemple #4
0
def _getFileList(origin):
	if origin == FileDestinations.SDCARD:
		sdFileList = printer.getSdFiles()

		files = []
		if sdFileList is not None:
			for sdFile, sdSize in sdFileList:
				file = {
					"name": sdFile,
					"origin": FileDestinations.SDCARD,
					"refs": {
						"resource": url_for(".readGcodeFile", target=FileDestinations.SDCARD, filename=sdFile, _external=True)
					}
				}
				if sdSize is not None:
					file.update({"size": sdSize})
				files.append(file)
	else:
		files = gcodeManager.getAllFileData()
		for file in files:
			file.update({
				"refs": {
					"resource": url_for(".readGcodeFile", target=FileDestinations.LOCAL, filename=file["name"], _external=True),
					"download": url_for("index", _external=True) + "downloads/files/" + FileDestinations.LOCAL + "/" + file["name"]
				}
			})
	return files
Exemple #5
0
def _verifyFileExists(origin, filename):
    if origin == FileDestinations.SDCARD:
        availableFiles = printer.getSdFiles()
    else:
        #modify by kevin, for different path
        availableFiles = gcodeManager.getAllFilenames(
            gcodeManager._uploadFolder)
        #modify end
    return filename in availableFiles
Exemple #6
0
def readGcodeFiles():
    files = gcodeManager.getAllFileData()

    sdFileList = printer.getSdFiles()
    if sdFileList is not None:
        for sdFile in sdFileList:
            files.append({
                "name": sdFile,
                "size": "n/a",
                "bytes": 0,
                "date": "n/a",
                "origin": "sd"
            })
    return jsonify(files=files, free=util.getFormattedSize(util.getFreeBytes(settings.getpath("uploads"))))
Exemple #7
0
def readGcodeFiles():
    files = gcodeManager.getAllFileData()

    sdFileList = printer.getSdFiles()
    if sdFileList is not None:
        for sdFile in sdFileList:
            files.append({
                "name": sdFile,
                "size": "n/a",
                "bytes": 0,
                "date": "n/a",
                "origin": "sd"
            })
    return jsonify(files=files,
                   free=util.getFormattedSize(
                       util.getFreeBytes(settings().getBaseFolder("uploads"))))
Exemple #8
0
def _getFileList(target):
	if target == FileDestinations.SDCARD:
		sdFileList = printer.getSdFiles()

		files = []
		if sdFileList is not None:
			for sdFile in sdFileList:
				files.append({
					"name": sdFile,
					"size": "n/a",
					"bytes": 0,
					"date": "n/a",
					"origin": FileDestinations.SDCARD
				})
	else:
		files = gcodeManager.getAllFileData()
	return files
Exemple #9
0
def _getFileList(origin, filter=None):
	if origin == FileDestinations.SDCARD:
		sdFileList = printer.getSdFiles()

		files = []
		if sdFileList is not None:
			for sdFile, sdSize in sdFileList:
				file = {
					"type": "machinecode",
					"name": sdFile,
					"origin": FileDestinations.SDCARD,
					"refs": {
						"resource": url_for(".readGcodeFile", target=FileDestinations.SDCARD, filename=sdFile, _external=True)
					}
				}
				if sdSize is not None:
					file.update({"size": sdSize})
				files.append(file)
	else:
		filter_func = None
		if filter:
			filter_func = lambda entry, entry_data: octoprint.filemanager.valid_file_type(entry, type=filter)
		files = fileManager.list_files(origin, filter=filter_func, recursive=False)[origin].values()
		for file in files:
			file["origin"] = FileDestinations.LOCAL

			if "analysis" in file and octoprint.filemanager.valid_file_type(file["name"], type="gcode"):
				file["gcodeAnalysis"] = file["analysis"]
				del file["analysis"]

			if "history" in file and octoprint.filemanager.valid_file_type(file["name"], type="gcode"):
				# convert print log
				history = file["history"]
				del file["history"]
				success = 0
				failure = 0
				last = None
				for entry in history:
					success += 1 if "success" in entry and entry["success"] else 0
					failure += 1 if "success" in entry and not entry["success"] else 0
					if not last or ("timestamp" in entry and "timestamp" in last and entry["timestamp"] > last["timestamp"]):
						last = entry
				if last:
					prints = dict(
						success=success,
						failure=failure,
						last=dict(
							success=last["success"],
							date=last["timestamp"]
						)
					)
					if "printTime" in last:
						prints["last"]["printTime"] = last["printTime"]
					file["prints"] = prints

			file.update({
				"refs": {
					"resource": url_for(".readGcodeFile", target=FileDestinations.LOCAL, filename=file["name"], _external=True),
					"download": url_for("index", _external=True) + "downloads/files/" + FileDestinations.LOCAL + "/" + file["name"]
				}
			})
	return files
Exemple #10
0
def _verifyFileExists(origin, filename):
	if origin == FileDestinations.SDCARD:
		return filename in map(lambda x: x[0], printer.getSdFiles())
	else:
		return fileManager.file_exists(origin, filename)
Exemple #11
0
def _verifyFileExists(origin, filename):
    if origin == FileDestinations.SDCARD:
        return filename in map(lambda x: x[0], printer.getSdFiles())
    else:
        return fileManager.file_exists(origin, filename)
Exemple #12
0
def _getFileList(origin, filter=None):
    if origin == FileDestinations.SDCARD:
        sdFileList = printer.getSdFiles()

        files = []
        if sdFileList is not None:
            for sdFile, sdSize in sdFileList:
                file = {
                    "type": "machinecode",
                    "name": sdFile,
                    "origin": FileDestinations.SDCARD,
                    "refs": {
                        "resource":
                        url_for(".readGcodeFile",
                                target=FileDestinations.SDCARD,
                                filename=sdFile,
                                _external=True)
                    }
                }
                if sdSize is not None:
                    file.update({"size": sdSize})
                files.append(file)
    else:
        filter_func = None
        if filter:
            filter_func = lambda entry, entry_data: octoprint.filemanager.valid_file_type(
                entry, type=filter)
        files = fileManager.list_files(origin,
                                       filter=filter_func,
                                       recursive=False)[origin].values()

        #lkj
        new_files = []
        for file in files:
            if "name" in file and octoprint.filemanager.valid_file_type(
                    file["name"], type="fbot"):
                print("lkj delete 2 file name:%s" % file["name"])
            else:
                new_files.append(file)

        files = new_files[0:len(new_files)]

        print("files:%s" % (str(files)))
        for file in files:
            file["origin"] = origin

            if "analysis" in file and octoprint.filemanager.valid_file_type(
                    file["name"], type="gcode"):
                file["gcodeAnalysis"] = file["analysis"]
                del file["analysis"]

            if "history" in file and octoprint.filemanager.valid_file_type(
                    file["name"], type="gcode"):
                # convert print log
                history = file["history"]
                del file["history"]
                success = 0
                failure = 0
                last = None
                for entry in history:
                    success += 1 if "success" in entry and entry[
                        "success"] else 0
                    failure += 1 if "success" in entry and not entry[
                        "success"] else 0
                    if not last or ("timestamp" in entry
                                    and "timestamp" in last and
                                    entry["timestamp"] > last["timestamp"]):
                        last = entry
                if last:
                    prints = dict(success=success,
                                  failure=failure,
                                  last=dict(success=last["success"],
                                            date=last["timestamp"]))
                    if "printTime" in last:
                        prints["last"]["printTime"] = last["printTime"]
                    file["prints"] = prints

            file.update({
                "refs": {
                    "resource":
                    url_for(".readGcodeFile",
                            target=origin,
                            filename=file["name"],
                            _external=True),
                    "download":
                    url_for("index", _external=True) + "downloads/files/" +
                    origin + "/" + file["name"]
                    #lkj
                    # "resource": url_for(".readGcodeFile", target=FileDestinations.LOCAL, filename=file["name"], _external=True),
                    # "download": url_for("index", _external=True) + "downloads/files/" + FileDestinations.LOCAL + "/" + file["name"]
                }
            })
    return files