Skip to content
Snippets Groups Projects
Select Git revision
  • c32e5ba6c63b1afd2393ec98f5cbac2cf33b2532
  • master default protected
  • dev
  • appimage
  • fix_gitlab
  • fixappveyor
  • gitlab
  • fix_ci
  • fix_dbus_error
  • fix_ci_osx
  • sakia020
  • fix_travis#1105
  • feature/backend
  • check_uniq_node_by_endpoints
  • qt5.7
  • feature/agent_architecture
  • translations
  • pyqt5.6
  • qtwebengine
  • pyinstaller
  • landscape
  • 0.53.2
  • 0.53.1
  • 0.53.0
  • 0.52.0
  • 0.51.1
  • 0.51.0
  • 0.50.5
  • 0.50.4
  • 0.50.3
  • 0.50.2
  • 0.50.1
  • 0.50.0
  • 0.33.0rc7
  • 0.33.0rc6
  • 0.33.0rc5
  • 0.33.0rc4
  • 0.33.0rc3
  • 0.33.0rc2
  • 0.33.0rc1
  • 0.32.10post1
41 results

transfer.py

Blame
  • replace.py 1.78 KiB
    #!/usr/bin/env python
    # -*- coding: utf-8 -*- #
    
    import re
    
    def replace(original_file, placeholder_start, placeholder_end,
                replace_file, target_file=None):
        """
        This function will replace in original_file what is between starting
        placeholder and ending placeholder by the
        content of replace_file. It will save it as target_file if provided, or
        in original_file otherwise.
        No backslash must be used in the placeholders except in order to escape
        Result will be put in triple backquotes.
        :param original_file Source that must be modified:
        :param placeholder_start String starting the position to replace:
        :param placeholder_start String ending the position to replace:
        :param replace_file File to include at placeholder position:
        :param target_file Destination where the complete file must be stored.
        Facultative, will be replaced by original_file if not provided:
        :return:
        """
        if target_file is None:
            target_file = original_file
    
        with open(original_file, 'r') as my_original_file:
            original_content = my_original_file.read()
    
        with open(replace_file, 'r') as my_replace_file:
            #we keep placeholders to be able to replay the process several times
            replace_content = placeholder_start.replace('\\','') + "\n\n\n" + my_replace_file.read() + "\n\n\n" + placeholder_end.replace('\\','')
    
        regex = placeholder_start + r'(.*)' + placeholder_end
        new_content = re.sub(regex, replace_content, original_content, flags=re.DOTALL)
    
        with open(target_file, 'w') as my_target_file:
            my_target_file.write(new_content)
    
    print("Will start replace")
    replace('content/pages/wiki/licence-g1.md', '\[//\]: # \(BeginLicense\)', '\[//\]: # \(EndLicense\)', 'content/files/licence_g1.txt')
    print("Replace completed")